

:root{
  --pf-border: rgba(148,163,184,.45);
  --pf-muted:  #64748b;
  --pf-text:   #0f172a;
  --pf-soft:   #f1f5f9;
  --pf-soft2:  #eef2ff;
  --pf-blue:   #2563eb;

  --pf-card:   #ffffff;
  --pf-shadow: 0 16px 40px rgba(2,6,23,.08);
  --pf-shadow2:0 10px 22px rgba(2,6,23,.10);

  --pf-radius: 18px;
  --pf-radius2: 14px;
}

.portfolio-section .portfolio-content,
.portfolio-section .portfolio-content *{
  box-sizing:border-box;
}

.portfolio-section .portfolio-content{
  padding: 22px !important;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.portfolio-section .portfolio-content h1,
.portfolio-section .portfolio-content h2,
.portfolio-section .portfolio-content h3,
.portfolio-section .portfolio-content h4,
.portfolio-section .portfolio-content p{
  margin-left:0 !important;
  padding-left:0 !important;
}
.portfolio-section.card{
  background: var(--pf-card);
  border-radius: var(--pf-radius);
  box-shadow: var(--pf-shadow);
  border: 1px solid rgba(226,232,240,.75);
}
.profile-meta-row{ display:none !important; }

.profile-section{
  margin:0 !important;
  padding:0 !important;
}

.profile-section-title{
  margin:0 0 8px !important;
  font-weight:900;
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--pf-text);
  letter-spacing:-.01em;
}

.section-body, .profile-section-body{
  margin:0 !important;
  color:#334155;
  line-height:1.6;
}

.skill-chip{
  background: var(--pf-soft);
  border:1px solid var(--pf-border);
  color:var(--pf-text);
  padding:7px 12px;
  border-radius:999px;
  font-size:13px;
  font-weight:800;
}

.profile-link-icon{
  width:40px;
  height:40px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background: rgba(241,245,249,.9);
  border:1px solid var(--pf-border);
  color:var(--pf-text);
  text-decoration:none;
  cursor:pointer;
  transition:.15s ease;
}
.profile-link-icon:hover{
  transform: translateY(-1px);
  box-shadow: var(--pf-shadow2);
  background: #fff;
}
.pro-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:6px 0 2px;
  flex-wrap:wrap;
}
.pro-left{
  display:flex;
  align-items:flex-start;
  gap:14px;
  min-width:260px;
  flex: 1 1 520px;
}
.pro-avatar{
  width:72px;
  height:72px;
  flex: 0 0 72px;
  border-radius:999px;
  overflow:hidden;
  border: 3px solid rgba(37,99,235,.18);
  background:#fff;
  box-shadow: 0 12px 26px rgba(2,6,23,.08);
}
.pro-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* meta */
.pro-meta{
  min-width:0;
}

.pro-name{
  margin:2px 0 0;
  font-size:22px;
  line-height:1.12;
  font-weight:950;
  letter-spacing:-.02em;
  color:var(--pf-text);
}
.pro-badges{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:10px;
}

.pro-badge{
  display:inline-flex;
  align-items:center;
  padding:7px 12px;
  border-radius:999px;
  border:1px solid var(--pf-border);
  background: rgba(241,245,249,.75);
  color:var(--pf-text);
  font-size:13px;
  font-weight:850;
  line-height:1;
}
.pro-badge.muted{
  color:#475569;
  background:#fff;
}
.pro-sub{
  margin-top:10px;
  color:#475569;
  font-weight:800;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.pro-sub .dot{ opacity:.45; }
.pro-stats{
  margin-top:10px;
  color:var(--pf-text);
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  font-weight:800;
}
.pro-stats b{
  font-weight:950;
}
.pro-stats .dot{ opacity:.35; }
.pro-skills{
  margin-top:12px;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
}
.pro-links{
  margin-top:12px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.pro-link{
  width:42px;
  height:42px;
  border-radius:14px;
  border:1px solid var(--pf-border);
  background: rgba(241,245,249,.75);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  color:var(--pf-text);
  transition: .15s ease;
}
.pro-link:hover{
  transform: translateY(-1px);
  box-shadow: var(--pf-shadow2);
  background:#fff;
}
.pro-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex: 0 0 auto;
  margin-left:auto;
  padding-top: 6px;
}
.pro-btn{
  height:44px;
  padding:0 16px;
  border-radius:14px;
  border:1px solid var(--pf-border);
  background:#fff;
  color:var(--pf-text);
  font-weight:950;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  transition:.15s ease;
  white-space:nowrap;
  letter-spacing:-.01em;
}

.pro-btn:hover{
  transform: translateY(-1px);
  box-shadow: var(--pf-shadow2);
}

.pro-btn.primary{
  background: linear-gradient(180deg, #2f6bff 0%, #2563eb 100%);
  border-color: rgba(37,99,235,.65);
  color:#fff;
}

.pro-btn.primary:hover{
  box-shadow: 0 16px 34px rgba(37,99,235,.26);
}

.pro-btn.icon{
  width:44px;
  padding:0;
  border-radius:14px;
}
.pro-btn.connected{
  background: rgba(238,242,255,.95);
  border-color: rgba(199,210,254,.9);
  color:#1d4ed8;
}

.pro-btn.primary.connected{
  background: rgba(238,242,255,.95);
  border-color: rgba(199,210,254,.9);
  color:#1d4ed8;
}

.pro-btn[disabled]{
  opacity:.6;
  cursor:not-allowed;
  transform:none;
  box-shadow:none;
}
.pro-sections{
  display:flex;
  flex-direction:column;
  gap:14px;
  padding-top: 6px;
}
.pro-section-head{
  display:flex;
  align-items:center;
  gap:10px;
}
.pro-section-head .right{
  margin-left:auto;
}
.pro-mini-chip{
  display:inline-flex;
  align-items:center;
  padding:7px 12px;
  border-radius:999px;
  background: rgba(241,245,249,.75);
  border:1px solid var(--pf-border);
  color:#334155;
  font-weight:850;
  font-size:13px;
}
.portfolio-progress{
  margin:0 !important;
  padding:0 !important;
}
.portfolio-progress h4{
  margin:0 0 8px !important;
  font-weight:950;
  color:var(--pf-text);
  letter-spacing:-.01em;
}
.progress-bar{
  height:10px;
  border-radius:999px;
  background: rgba(226,232,240,.85);
  overflow:hidden;
}
.progress-fill{
  height:100%;
  border-radius:999px;
  background: linear-gradient(90deg, #2563eb 0%, #2f6bff 60%, #60a5fa 100%);
}
.profile-section ul{
  margin:0;
}
@media (max-width: 640px){
  .portfolio-section .portfolio-content{
    padding:18px !important;
    gap:12px;
  }

  .pro-left{
    flex: 1 1 auto;
    min-width:0;
  }

  .pro-actions{
    width:100%;
    justify-content:flex-start;
    flex-wrap:wrap;
    padding-top: 2px;
  }

  .pro-btn{
    height:44px;
    padding:0 14px;
  }
}
.pro-actions-topright{
  margin-left:auto;
  align-items:flex-start;
}
.pro-iconbtn{
  width:44px;
  height:44px;
  border-radius:14px;
  border:1px solid #e5e7eb;
  background:#fff;
  color:#0f172a;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:.15s ease;
  box-shadow:0 6px 16px rgba(15,23,42,.06);
}

.pro-iconbtn:hover{
  transform: translateY(-1px);
  box-shadow:0 12px 28px rgba(15,23,42,.10);
  border-color:#cbd5e1;
}

.pro-iconbtn i{ font-size:16px; }

.pro-iconbtn-primary{
  background:#2563eb;
  border-color:#2563eb;
  color:#fff;
}
.pro-iconbtn.connected{
  background:#eef2ff;
  border-color:#c7d2fe;
  color:#1d4ed8;
}
.pro-iconbtn[disabled]{
  opacity:.6;
  cursor:not-allowed;
  transform:none;
  box-shadow:0 6px 16px rgba(15,23,42,.04);
}
@media (max-width: 640px){
  .pro-actions-topright{
    width:100%;
    justify-content:flex-start;
  }
}
