/* Vida Nerd Social Profile - base */
.vnsp-wrap{max-width:1200px;margin:0 auto;padding:18px;}
.vnsp-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:16px;margin:14px 0;backdrop-filter:saturate(120%) blur(6px);}
.vnsp-hero{display:flex;gap:16px;justify-content:space-between;align-items:center;}
.vnsp-public-hero{display:flex;gap:16px;justify-content:space-between;align-items:center;}
.vnsp-hero-left{display:flex;gap:14px;align-items:center;}

.vnsp-avatar-wrap{display:flex;gap:10px;align-items:center}
.vnsp-avatar-actions{display:flex;flex-direction:column;gap:6px}
.vnsp-avatar-upload input{display:none}
.vnsp-avatar-upload{user-select:none}

.vnsp-avatar img{border-radius:999px;}
.vnsp-h1{font-size:24px;line-height:1.15;margin:0 0 4px;}
.vnsp-h2{font-size:18px;margin:0 0 10px;}
.vnsp-h3{font-size:16px;margin:0 0 10px;}
.vnsp-muted{opacity:.8}
.vnsp-muted.small{font-size:12px}
.vnsp-mini-links a{opacity:.9}
.vnsp-stats{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.vnsp-stat{background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:10px 12px;min-width:90px;text-align:center}
.vnsp-stat strong{display:block;font-size:18px}
.vnsp-stat span{display:block;font-size:12px;opacity:.8}

.vnsp-tabs{display:flex;flex-wrap:wrap;gap:8px}
.vnsp-tab{background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.10);border-radius:999px;padding:10px 12px;color:inherit;cursor:pointer}
.vnsp-tab[data-active="1"]{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.22)}

.vnsp-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px}

.vnsp-items-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.vnsp-list-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}

/* Card compacto estilo streaming (capa + título) */
.vnsp-stream-card{display:block;text-decoration:none;color:inherit;}
.vnsp-stream-cover{background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.10);border-radius:16px;overflow:hidden;aspect-ratio:2/3}
.vnsp-stream-cover img{width:100%;height:100%;object-fit:cover;display:block}
.vnsp-stream-title{margin-top:8px;font-weight:800;font-size:13px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.92}
.vnsp-stream-card:hover .vnsp-stream-cover{border-color:rgba(255,255,255,.18);transform:translateY(-1px)}
.vnsp-stream-cover{transition:transform .12s ease, border-color .12s ease}

.vnsp-item-card{display:flex;gap:10px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.08);border-radius:14px;overflow:hidden}
.vnsp-item-thumb{display:block;width:96px;flex:0 0 96px;background:rgba(255,255,255,.06)}
.vnsp-item-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.vnsp-thumb-fallback{width:100%;height:100%;min-height:120px;background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.02))}
.vnsp-item-body{padding:10px;flex:1;min-width:0}
.vnsp-item-title{display:block;font-weight:700;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vnsp-item-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.vnsp-badge{font-size:12px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.10);border-radius:999px;padding:4px 8px}
.vnsp-badge-status[data-status="watchlist"]{background:rgba(0,150,255,.16)}
.vnsp-badge-status[data-status="watched"]{background:rgba(0,200,120,.16)}
.vnsp-badge-status[data-status="not_interested"]{background:rgba(255,90,90,.16)}
.vnsp-badge-fav{background:rgba(255,80,120,.16)}
.vnsp-badge-rating{background:rgba(255,190,40,.18)}

.vnsp-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.vnsp-widget{display:block}
.vnsp-btn{background:rgba(0,0,0,.20);border:1px solid rgba(255,255,255,.10);border-radius:999px;padding:8px 10px;color:inherit;cursor:pointer;font-size:12px}
.vnsp-btn:hover{background:rgba(255,255,255,.08)}
.vnsp-btn[data-active="1"]{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.22)}
.vnsp-btn-primary{background:rgba(255,0,80,.20);border-color:rgba(255,0,80,.30)}
.vnsp-btn-danger{background:rgba(255,60,60,.16);border-color:rgba(255,60,60,.26)}

.vnsp-modal{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;z-index:99999;padding:14px}
.vnsp-modal-inner{width:100%;max-width:520px;background:#0b0b0f;border:1px solid rgba(255,255,255,.12);border-radius:16px;overflow:hidden}
.vnsp-modal-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.10)}
.vnsp-modal-body{padding:14px}
.vnsp-modal-foot{padding:12px 14px;border-top:1px solid rgba(255,255,255,.10);display:flex;justify-content:flex-end}
.vnsp-x{background:transparent;border:0;color:inherit;font-size:18px;cursor:pointer;opacity:.8}
.vnsp-x:hover{opacity:1}

.vnsp-input,.vnsp-textarea,.vnsp-select{width:100%;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:inherit;padding:10px 12px;margin:8px 0;outline:none}
.vnsp-textarea{min-height:88px;resize:vertical}
.vnsp-checkbox{display:flex;gap:8px;align-items:center;margin-top:10px}
.vnsp-hr{border:0;border-top:1px solid rgba(255,255,255,.10);margin:12px 0}

.vnsp-rating-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:10px 0}
.vnsp-rate-opt{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:10px;color:inherit;cursor:pointer}
.vnsp-rate-opt.sel{background:rgba(255,190,40,.22);border-color:rgba(255,190,40,.35)}

.vnsp-skel{opacity:.8}
.vnsp-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.vnsp-box{background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:12px}
.vnsp-create-list{display:flex;gap:8px;align-items:center}
.vnsp-create-list .vnsp-input{flex:1;margin:0}
.vnsp-create-list .vnsp-select{width:180px;margin:0}
.vnsp-create-list .vnsp-btn{white-space:nowrap}

.vnsp-list-card{display:block;text-decoration:none;color:inherit;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.08);border-radius:14px;overflow:hidden}
.vnsp-list-cover{height:120px;background:rgba(255,255,255,.06)}
.vnsp-list-cover img{width:100%;height:100%;object-fit:cover;display:block}
.vnsp-list-body{padding:12px}
.vnsp-list-title{font-weight:800;margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vnsp-list-actions{display:flex;gap:8px;margin-top:10px}

.vnsp-lists-mini{display:flex;flex-direction:column;gap:10px}
.vnsp-list-mini{display:flex;justify-content:space-between;gap:10px;align-items:center;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:10px}
.vnsp-list-mini-actions{display:flex;gap:8px}

.vnsp-toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);background:#0b0b0f;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:10px 14px;opacity:0;transition:opacity .2s ease, transform .2s ease;z-index:999999}
.vnsp-toast.show{opacity:1;transform:translateX(-50%) translateY(-4px)}

@media (max-width: 1100px){
  .vnsp-items-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}

@media (max-width: 980px){
  .vnsp-items-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .vnsp-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vnsp-hero,.vnsp-public-hero{flex-direction:column;align-items:flex-start}
  .vnsp-stats{justify-content:flex-start}
}
@media (max-width: 520px){
  .vnsp-items-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vnsp-list-grid{grid-template-columns:repeat(1,minmax(0,1fr))}
  .vnsp-item-thumb{width:88px;flex-basis:88px}
}

@media (max-width: 360px){
  .vnsp-items-grid{grid-template-columns:repeat(1,minmax(0,1fr))}
}


/* Avatar crop modal */

.vnsp-noscroll{ overflow:hidden !important; }
.vnsp-crop-modal{ position:fixed; inset:0; z-index:999999; }
.vnsp-crop-backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.72); }
.vnsp-crop-dialog{
  position:relative;
  width:min(92vw, 420px);
  margin:8vh auto 0;
  background:#111;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  box-shadow:0 18px 60px rgba(0,0,0,.55);
  padding:14px;
}
.vnsp-crop-head{
  font-weight:700;
  font-size:15px;
  margin-bottom:10px;
}
.vnsp-crop-body{ display:flex; flex-direction:column; gap:10px; }
.vnsp-crop-canvas{
  width:100%;
  height:auto;
  border-radius:12px;
  background:#0b0b0b;
  cursor:grab;
  touch-action:none;
}
.vnsp-crop-controls{
  display:flex;
  align-items:center;
  gap:10px;
}
.vnsp-crop-zoom-label{ font-size:12px; color:rgba(255,255,255,.75); min-width:48px; }
.vnsp-crop-zoom{ width:100%; }
.vnsp-crop-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:12px;
}
.vnsp-crop-progress{
  display:flex;
  align-items:center;
  gap:10px;
}
.vnsp-crop-progress-bar{
  flex:1;
  height:10px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  overflow:hidden;
}
.vnsp-crop-progress-bar-inner{
  width:0%;
  height:100%;
  background:rgba(255,255,255,.65);
}
.vnsp-crop-progress-text{ font-size:12px; color:rgba(255,255,255,.8); min-width:42px; text-align:right; }
