
.upc-container{}
.up-profile-wrap { display:grid; grid-template-columns: 770px 270px; column-gap:25px; row-gap:18px;margin-top:0px;margin-bottom:50px; }
.up-card { background:#fff; border:1px solid #e7e3dd; border-radius:12px; box-shadow:0 1px 2px rgba(0,0,0,.04); }
.up-card .up-hdr { padding:14px 18px; border-bottom:1px solid #efece7; font-weight:800; color:#1f2937; }
.up-card .up-body { padding:18px; }

/* Activity */
.up-activity .grid { display:grid; grid-template-columns: repeat(53, 12px); grid-auto-rows: 12px; gap:4px; }
.up-activity .cell { width:12px; height:12px; border-radius:3px; background:#ebebeb; }
.up-activity .c1{ background:#e6f4ea; } .up-activity .c2{ background:#c9eecf; } .up-activity .c3{ background:#96e1a8; } .up-activity .c4{ background:#56c87d; }
.up-activity .legend { display:flex; align-items:center; gap:8px; color:#6b7280; font-size:12px; margin-top:8px; }
.up-activity .legend .swatch { width:12px; height:12px; border-radius:3px; background:#ebebeb; }

/* Memberships */
.up-members { display:grid; gap:12px; }
.up-member { display:flex; gap:12px; align-items:center; padding:12px 14px; border:1px solid #eee; border-radius:12px; background:#fff; }
.up-member img { width:46px; height:46px; border-radius:10px; object-fit:cover; }
.up-member .m-title { font-weight:800; color:#111827; }
.up-member .m-meta { font-size:12px; color:#6b7280; }

/* Contributions controls */
.up-contrib { padding:18px; }
.up-contrib .controls { display:flex; gap:12px; align-items:center; justify-content:flex-end; }
.up-contrib .select { padding:10px 14px; border:1px solid #e5e7eb; border-radius:9999px; background:#fff; }
.up-stats { display:flex; gap:30px; justify-content:space-around; text-align:center; padding:12px 6px 4px; }
.up-stats .stat strong { display:block; font-size:18px; }
.up-stats .stat span { font-size:12px; color:#6b7280; }

/* Sidebar card */
.up-side .card { position:sticky; top:12px; }
.up-side .body { padding:18px; }
.up-side .avatar { width:220px; height:220px; border-radius:50%; object-fit:cover; display:block; margin:10px auto 16px; }
.up-side .level-note{ margin-top:20px;font-size:15px}
.up-side .points-count{font-size:13px;color:#565656;font-weight:400;}

.up-side .name { font-size:24px; font-weight:900; margin-top:22px !important;color:#1f2937; }
.up-side .handle { color:#8a8f98; font-size:13px; margin-top:4px; }
.up-side .bio { margin-top:8px; color:#374151; }
.up-side .meta { margin-top:12px; display:grid; gap:10px; }
.up-side .row { display:flex; gap:10px; align-items:center; color:#1f2937; }
.up-side .row svg { width:16px; height:16px; opacity:.8; }
.up-side .divider { height:1px; background:#efece7; margin:12px 0; }
.up-side .stats { display:flex; justify-content:space-around; text-align:center; margin:8px 0; }
.up-side .stats .metric strong { display:block; font-size:18px; }
.up-side .stats .metric span { font-size:12px; color:#6b7280; }
.up-side .btn { display:block; text-align:center; background:#111827; color:#fff; padding:12px 14px; border-radius:10px; text-decoration:none; font-weight:800; margin:10px 0 6px; }



/* Online status pill */
.up-status { display:flex; align-items:center; gap:10px; font-size:14px; }
.up-dot { width:8px; height:8px; border-radius:50%; background:#a3a3a3; }
.up-dot.online { background:#16a34a; box-shadow:0 0 0 3px rgba(22,163,74,.2); }

/* MBTI header */
.up-mbti-head { font-weight:800; margin-top:8px; }
.up-mbti-line { display:flex; align-items:center; gap:6px; font-weight:600; }
.up-mbti-info { display:inline-flex; align-items:center; justify-content:center; width:18px; height:18px; border-radius:50%; background:#e9ecef; color:#374151; font-size:12px; cursor:help; }
.up-mbti-tip { font-size:12px; color:#6b7280; }

/* Contributions strip with separators */
.up-stats.strip { border-top:1px solid #efece7; border-bottom:1px solid #efece7; padding:14px 0; }
.up-stats.strip .stat { position:relative; flex:1; }
.up-stats.strip .stat + .stat:before { content:''; position:absolute; left:0; top:10%; bottom:10%; width:1px; background:#efece7; }


/* Typography tweaks for profile page */
.up-card .up-hdr { font-size:18px; }
.up-side .name { font-size:24px; }
.up-side .handle { font-size:13px; }


/* --- Profile Page Container & Grid --- */

/* Card base */
.up-card { background: #fff; border: 1px solid #efece7; border-radius: 10px; box-shadow: 0 1px 1px rgba(0,0,0,.02); }
.up-card .up-hdr { padding: 14px 16px; border-bottom: 1px solid #efece7; font-weight: 700; color: #111827; }
.up-card .up-body { padding: 16px; }

/* Activity heatmap tweaks */
.up-activity .grid { display: grid; grid-template-columns: repeat(53, 12px); grid-auto-rows: 12px; gap: 3px; }
.up-activity .cell { width: 12px; height: 12px; background: #f1f5f9; border-radius: 2px; }
.up-activity .cell.c1 { background: #d1fae5; }
.up-activity .cell.c2 { background: #86efac; }
.up-activity .cell.c3 { background: #34d399; }
.up-activity .cell.c4 { background: #10b981; }

/* Contributions stats with vertical separators and top/bottom lines */
.up-stats.strip { display:flex; gap:0; border-top:1px solid #efece7; border-bottom:1px solid #efece7; padding: 12px 0; }
.up-stats.strip .stat { flex:1; text-align:center; }
.up-stats.strip .stat + .stat { border-left:1px solid #efece7; }
.up-stats.strip .stat strong { display:block; font-size:18px; color:#111827; }
.up-stats.strip .stat span { display:block; font-size:12px; color:#6b7280; }

/* Sidebar details */
.up-side .body { padding: 12px; }
.up-side .avatar { width: 160px; height: 160px; border-radius: 9999px; display:block; margin: 0 auto 12px; object-fit: cover; }
.up-side .name { font-size: 18px; font-weight: 800; color:#111827; text-align:left; margin-top:4px; }
.up-side .handle { font-size:12px; color:#6b7280; margin-bottom: 10px; }
.up-side .bio { color:#374151; font-size: 13px; margin: 8px 0 10px; }
.up-side .divider { height:1px; background:#efece7; margin: 8px 0 10px; }
.up-side .meta .row { display:flex; align-items:center; gap:8px; color:#374151; font-size:13px; margin: 2px 0; line-height:1.25; }
.up-side .meta .row svg { width:18px; height:18px; color:#6b7280; }

.up-status { display:flex; align-items:center; gap:10px; font-size:14px; }
.up-dot { width:8px; height:8px; border-radius:50%; background:#a3a3a3; }
.up-dot.online { background:#16a34a; }

.up-side .stats { display:flex; border-top:1px solid #efece7; border-bottom:1px solid #efece7; margin:12px 0; }
.up-side .stats .metric { flex:1; text-align:center; padding:10px 0; }
.up-side .stats .metric + .metric { border-left:1px solid #efece7; }
.up-side .stats .metric strong { display:block; font-size:18px; color:#111827; }
.up-side .stats .metric span { display:block; font-size:12px; color:#6b7280; }

.up-side .btn { display:block; width:100%; text-align:center; background:#f3f4f6; border:1px solid #e5e7eb; border-radius:8px; padding:10px 10px; font-weight:700; color:#111827; text-decoration:none; }
.up-side .btn:hover { background:#e5e7eb; }

/* MBTI heading + inline info */
.up-mbti-head { font-weight:800; margin-top:8px; }
.up-mbti-line { display:flex; align-items:center; gap:6px; font-weight:600; }
.up-mbti-info { display:inline-flex; align-items:center; justify-content:center; width:18px; height:18px; border-radius:50%; background:#e9ecef; color:#374151; font-size:12px; cursor:help; }

.up-side .meta .row svg { width:16px; height:16px; stroke: currentColor; fill: none; stroke-width: 1.8; }

/* Contributions card matching reference */
.up-contrib .up-stats.strip { border-top:1px solid #edeae5; border-bottom:1px solid #edeae5; padding: 16px 0; }
.up-contrib .up-stats.strip .stat strong { font-size:20px; }
.up-contrib .up-stats.strip .stat span { font-size:12px; color:#6b7280; }

/* Fixed widths for cards */
.up-maincol .up-card { width: 770px; }
.up-side { width: 270px; }
.up-side .card { width: 270px; }

.up-maincol .up-card .up-body, .up-maincol .up-card .up-hdr { max-width: 770px; }

/* --- MBTI tooltip --- */
.up-tip { position:relative; display:inline-flex; align-items:center; }
.up-mbti-info { display:inline-flex; align-items:center; justify-content:center; width:18px; height:18px; border-radius:50%; background:#e5e7eb; color:#111827; font-size:12px; font-weight:700; cursor:help; }
.up-tip-box {
  position:absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  max-width: 320px;
  background:#111827;
  color:#fff;
  padding:10px 12px;
  border-radius:6px;
  font-size:13px;
  line-height:1.4;
  box-shadow: 0 6px 18px rgba(0,0,0,.25);
  opacity:0; visibility:hidden; pointer-events:none;
  transition: opacity .15s ease, visibility .15s ease;
  z-index: 1000;
}
.up-tip-box::after{
  content:'';
  position:absolute;
  top: 100%;
  left: 24px;
  border-width: 7px;
  border-style: solid;
  border-color: #111827 transparent transparent transparent;
}
.up-tip:hover .up-tip-box,
.up-tip:focus-within .up-tip-box { opacity:1; visibility:visible; }

/* Empty state for Activity card */
.up-activity .up-body { min-height: 180px; }

/* Tooltip spanning the full sidebar width */
.up-side .meta .row { position: relative; }
.up-tip { position: relative; }
.up-tip .up-tip-box.up-tip-box-wide {
  width: 270px;
  max-width: 270px;
  left: 0;
  right: auto;
  transform: none;
}
.up-tip .up-tip-box.up-tip-box-wide::after { left: 18px; }

@media (max-width: 980px){
  .up-profile-wrap { grid-template-columns: 1fr; }
}





/* ===== UnityPro Profile Tabs (Facebook-style) ===== */
.up-prof-tabs{
  /* Theme tokens */
  --up-fg: #111;
  --up-fg-muted: #606770;           /* FB-ish muted text */
  --up-border: #e5e7eb;
  --up-bg: #fff;
  --up-accent: #1877F2;             /* Facebook blue */
  --up-pill-bg: rgba(24,119,242,.10);
  --up-pill-fg: var(--up-accent);
  --up-hover: rgba(17,17,17,.06);
  --up-radius: 8px;
  --up-underline: 3px;

  color: var(--up-fg);
}

/* Tab bar container */
.up-prof-tabs .up-prof-tabbar[role="tablist"]{
  display: flex;
  gap: 6px;
  align-items: center;
  border-radius:8px;
  border-bottom: 1px solid var(--up-border);
  background: color-mix(in oklab, var(--up-bg) 90%, #fff 10%);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  padding: 0 6px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
}

/* Hide scrollbar on WebKit without breaking a11y */
.up-prof-tabs .up-prof-tabbar::-webkit-scrollbar{ height: 0; }

/* Tabs */
.up-prof-tabs .up-prof-tab[role="tab"]{
  /* reset button look */
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--up-fg-muted);
  font: 600 14px/1.2 system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  letter-spacing: .2px;

  position: relative;
  padding: 12px 14px 14px; /* extra bottom space for underline */
  border-radius: var(--up-radius);
  cursor: pointer;
  scroll-snap-align: start;
  white-space: nowrap;

  transition: color .18s ease, background-color .18s ease;
}

/* Hover / focus states */
.up-prof-tabs .up-prof-tab[role="tab"]:hover{
  background: var(--up-hover);
  color: #1d2129;
}
.up-prof-tabs .up-prof-tab[role="tab"]:focus-visible{
  outline: 2px solid color-mix(in oklab, var(--up-accent) 45%, #000 0%);
  outline-offset: 2px;
}

/* Active (selected) state */
.up-prof-tabs .up-prof-tab.is-active,
.up-prof-tabs .up-prof-tab[aria-selected="true"]{
  color: #1d2129; /* darker text like FB active */
}

/* Underline indicator */
.up-prof-tabs .up-prof-tab[role="tab"]::after{
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: -1px; /* sits over the tabbar border */
  height: var(--up-underline);
  background: transparent;
  border-radius: 2px;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .2s ease, background-color .2s ease;
}

/* Show underline when active */
.up-prof-tabs .up-prof-tab.is-active::after,
.up-prof-tabs .up-prof-tab[aria-selected="true"]::after{
  background: var(--up-accent);
  transform: scaleX(1);
}

/* Count pill */
.up-prof-tabs .up-prof-tab .up-pill{
  display: inline-block;
  margin-left: 8px;
  padding: 2px 8px;
  font: 700 12px/1 system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--up-pill-fg);
  background: var(--up-pill-bg);
  border-radius: 999px;
  vertical-align: middle;
  transform: translateY(-1px);
  transition: background-color .18s ease, color .18s ease;
}

/* Darken pill slightly on hover for nice feedback */
.up-prof-tabs .up-prof-tab:hover .up-pill{
  background: color-mix(in oklab, var(--up-pill-bg) 70%, var(--up-accent) 10%);
}

/* Compact at very small widths */
@media (max-width: 420px){
  .up-prof-tabs .up-prof-tab[role="tab"]{
    padding: 10px 12px 12px;
    font-size: 13px;
  }
  .up-prof-tabs .up-prof-tab .up-pill{
    padding: 2px 7px;
    font-size: 11px;
  }
}

/* Respect prefers-reduced-motion */
@media (prefers-reduced-motion: reduce){
  .up-prof-tabs .up-prof-tab,
  .up-prof-tabs .up-prof-tab::after,
  .up-prof-tabs .up-prof-tab .up-pill{
    transition: none;
  }
}

/* Optional: light/dark auto-theming */
@media (prefers-color-scheme: dark){
  .up-prof-tabs{
    --up-fg: #e9eaed;
    --up-fg-muted: #bcc0c4;
    --up-border: #2f3336;
    --up-bg: #0f1113;
    --up-hover: rgba(255,255,255,.06);
    --up-pill-bg: rgba(24,119,242,.18);
  }
  .up-prof-tabs .up-prof-tab.is-active,
  .up-prof-tabs .up-prof-tab[aria-selected="true"]{
    color: #e9eaed;
  }
}



