/* ═══════════════════════════════════════════════════════════════════════════════════════════════
   PUBLIC PROFILE v2 (2 Oct 2026) — prototype Plan/pt-public-profile-v2.html, markup templates/forum/public-profile.php.
   Everything is scoped to .pt-pp. Uses the site tokens (header-footer-global.css); declares none.
   public-profile-styles.css is still enqueued for the hidden-profile page and the tooltip skin, so its wrapper rules
   are overridden here (its `.pt-container{overflow:hidden}` would also stop the tabs sticking).
   Every <button> declares background AND colour on :hover/:focus/:active (CLAUDE.md §5a — GeneratePress's inline
   button:hover{#333} otherwise wins).
   ═══════════════════════════════════════════════════════════════════════════════════════════════ */

.pt-profile-wrapper.pt-pp{display:block;padding:0 0 40px;background:var(--pt-surface-dim);color:var(--pt-ink);min-height:70vh}
.pt-profile-wrapper.pt-pp .pt-container{max-width:1280px!important;padding:0;overflow:visible}
.pt-pp .pt-mono{font-family:"JetBrains Mono","SF Mono",ui-monospace,Menlo,monospace;font-variant-numeric:tabular-nums}
.pt-pp .pt-pp-i{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;display:block;flex:0 0 auto}
.pt-pp a{color:inherit;text-decoration:none}
.pt-pp [hidden]{display:none!important}

/* ── Staff bar: thin, grey, full width, very top ── */
.pt-pp-staff{background:#EFEDE7;border-bottom:1px solid var(--pt-border-strong);font-size:12.5px;color:var(--pt-ink-2)}
.pt-pp-staff__in{max-width:1280px;margin:0 auto;padding:7px 40px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.pt-pp-staff b{color:var(--pt-ink);font-weight:600}
.pt-pp-staff__links{margin-left:auto;display:flex;gap:16px;align-items:center}
.pt-pp-staff__links a{color:var(--pt-accent)}
.pt-pp .pt-pp-staff__mod,.pt-pp .pt-pp-staff__mod:hover,.pt-pp .pt-pp-staff__mod:focus,.pt-pp .pt-pp-staff__mod:active{background:none;color:var(--pt-accent);border:0;padding:0;font:inherit;cursor:pointer;text-decoration:none}
.pt-pp .pt-pp-staff__mod:hover{text-decoration:underline}
.pt-pp-mod{max-width:1280px;margin:0 auto;padding:4px 40px 12px}
.pt-pp-mod__st{margin:0 0 8px;font-size:13px}
.pt-pp-mod__btns{display:flex;gap:8px;flex-wrap:wrap}
.pt-pp .pt-mod-btn,.pt-pp .pt-mod-btn:focus,.pt-pp .pt-mod-btn:active{background:var(--pt-surface);color:var(--pt-ink);border:1px solid var(--pt-border-strong);border-radius:0;padding:7px 12px;font-size:13px;font-weight:600;cursor:pointer}
.pt-pp .pt-mod-btn:hover{background:var(--pt-fill-control);color:var(--pt-ink)}
.pt-pp .pt-admin-mod-msg{margin:8px 0 0;font-size:12px;min-height:1em}
.pt-pp .pt-mod-modal{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:20px}
.pt-pp .pt-mod-modal__bg{position:absolute;inset:0;background:rgba(10,12,16,.6)}
.pt-pp .pt-mod-modal__card{position:relative;width:100%;max-width:420px;background:var(--pt-surface);padding:24px}
.pt-pp .pt-mod-modal__title{margin:0 0 8px;font-size:18px;font-weight:600}
.pt-pp .pt-mod-modal__body{margin:0 0 16px;font-size:14px;color:var(--pt-ink-2);line-height:1.5}
.pt-pp .pt-mod-modal__step2{margin:0 0 16px;padding:10px 12px;background:var(--pt-red-bg);border:1px solid var(--pt-red-border);font-size:13px;color:var(--pt-red-deep)}
.pt-pp .pt-mod-modal__btns{display:flex;gap:10px;justify-content:flex-end}
.pt-pp .pt-mod-modal__cancel,.pt-pp .pt-mod-modal__cancel:focus,.pt-pp .pt-mod-modal__cancel:active{background:var(--pt-surface);color:var(--pt-ink);border:1px solid var(--pt-border-strong);border-radius:0;padding:10px 16px;font-size:14px;font-weight:600;cursor:pointer}
.pt-pp .pt-mod-modal__cancel:hover{background:var(--pt-fill-control);color:var(--pt-ink)}
.pt-pp .pt-mod-modal__confirm,.pt-pp .pt-mod-modal__confirm:focus,.pt-pp .pt-mod-modal__confirm:active{background:var(--pt-fill-primary);color:var(--pt-on-primary);border:1px solid var(--pt-fill-primary);border-radius:0;padding:10px 16px;font-size:14px;font-weight:600;cursor:pointer}
.pt-pp .pt-mod-modal__confirm:hover{background:#1f1f1f;color:var(--pt-on-primary)}

/* ── Header ── */
.pt-pp-hd{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:24px;padding:28px 40px 22px;align-items:start}
.pt-pp-av img{width:120px;height:120px;border-radius:50%;object-fit:cover;display:block}
.pt-pp-nm{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.pt-pp-nm h1{margin:0;font-size:28px;font-weight:600;line-height:1.2;letter-spacing:0;text-transform:none;color:var(--pt-ink)}
.pt-pp-flag{font-size:20px;font-weight:400}
.pt-pp-vf{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:500;color:var(--pt-green-text)}
.pt-pp-vf .pt-pp-i{width:17px;height:17px}
.pt-pp-rk-wrap{position:relative;cursor:default}
.pt-pp-rk{display:inline-block;font-size:12.5px;border:1px solid var(--pt-border-strong);padding:3px 8px;color:var(--pt-ink-2);background:var(--pt-surface);line-height:1.3}
.pt-pp-rk-wrap:focus-within .pt-tooltip-popup{visibility:visible;opacity:1;top:130%}
.pt-pp-meta{margin:6px 0 0;font-size:14px;color:#5C5A54;display:flex;flex-wrap:wrap;gap:0 6px;align-items:center}
.pt-pp-online{display:inline-flex;align-items:center;gap:5px}
.pt-pp-dot{width:7px;height:7px;border-radius:50%;background:var(--pt-green-dot);display:inline-block}
.pt-pp-sanction{display:inline-flex;align-items:center;gap:6px;margin:10px 0 0;padding:4px 9px;border:1px solid var(--pt-border-strong);background:var(--pt-surface);font-size:13px;color:var(--pt-ink)}
.pt-pp-sanction .pt-pp-dot{background:var(--pt-red-dot)}
.pt-pp-bio{margin-top:12px;max-width:640px;font-size:15px;line-height:1.5;color:var(--pt-ink)}
.pt-pp-bio p{margin:0 0 6px}
.pt-pp-extra{margin:10px 0 0;display:flex;gap:6px 10px;flex-wrap:wrap;font-size:13px;color:var(--pt-ink-2)}
.pt-pp-cred{border:1px solid var(--pt-border);padding:2px 7px;background:var(--pt-surface)}
.pt-pp-acts{display:flex;gap:8px}

/* Buttons — square, ink primary, outlined secondary, dim on hover (never recolour). */
.pt-pp .pt-pp-btn,.pt-pp .pt-pp-btn:focus,.pt-pp .pt-pp-btn:active{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:14px;font-weight:600;line-height:1.2;padding:10px 16px;border:1px solid var(--pt-border-strong);border-radius:0;background:var(--pt-surface);color:var(--pt-ink);white-space:nowrap;cursor:pointer;text-transform:none;letter-spacing:0;box-shadow:none}
.pt-pp .pt-pp-btn:hover{background:var(--pt-fill-control);color:var(--pt-ink)}
.pt-pp .pt-pp-btn--pri,.pt-pp .pt-pp-btn--pri:focus,.pt-pp .pt-pp-btn--pri:active{background:var(--pt-fill-primary);color:var(--pt-on-primary);border-color:var(--pt-fill-primary)}
.pt-pp .pt-pp-btn--pri:hover{background:#1f1f1f;color:var(--pt-on-primary)}
.pt-pp .pt-pp-btn--sq{padding:10px}
.pt-pp .pt-pp-btn:focus-visible{outline:2px solid var(--pt-ink);outline-offset:2px}
/* Follow: "+ Follow" / "✓ Following". The label is the JS's (forum-friends.js swaps the text), the icon is CSS. */
.pt-pp .pt-pp-follow::before{content:"";width:14px;height:14px;background:currentColor;flex:0 0 auto;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center/contain no-repeat}
.pt-pp .pt-pp-follow.following::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l4 4 10-10'/%3E%3C/svg%3E");
          mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l4 4 10-10'/%3E%3C/svg%3E")}

/* ── Stat strip (the account page's component) ── */
.pt-pp-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0 40px;border:1px solid var(--pt-border-strong);background:var(--pt-surface)}
.pt-pp-stat{display:block;padding:12px 16px;border-left:1px solid var(--pt-border);min-width:0}
.pt-pp-stat:first-child{border-left:0}
a.pt-pp-stat:hover,a.pt-pp-stat:focus-visible{background:#FBFAF7}
a.pt-pp-stat:hover span,a.pt-pp-stat:focus-visible span{color:var(--pt-ink);text-decoration:underline;text-underline-offset:3px}
a.pt-pp-stat:focus-visible{outline:2px solid var(--pt-ink);outline-offset:-2px}
.pt-pp-stat.is-cur{box-shadow:inset 0 -2px 0 var(--pt-ink)}   /* the cell matching the open tab / filter / list */
.pt-pp-stat b{display:block;font-size:20px;font-weight:600;line-height:1.3;color:var(--pt-ink)}
.pt-pp-stat span{display:block;font-size:12.5px;color:var(--pt-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ── Rep line ── */
.pt-pp-rep{display:flex;align-items:center;gap:12px;margin:0 40px 8px;padding:8px 16px;border:1px solid var(--pt-border-strong);background:var(--pt-surface);font-size:12.5px;color:var(--pt-ink-2)}   /* a thin container the stat strip's width and border, above it (Leon, 2 Oct 22:13) */
.pt-pp-rep__n{position:relative}
.pt-pp-rep__n > .pt-mono{color:var(--pt-ink);font-weight:600;border-bottom:1px dotted var(--pt-border-strong);cursor:help}
.pt-pp-rep__n:focus-within .pt-tooltip-popup{visibility:visible;opacity:1;top:130%}
.pt-pp-rep__n .pt-tooltip-popup{left:0;transform:none}
.pt-pp-rep__n .pt-tooltip-popup::after{left:24px}
.pt-pp-rep__bar{flex:0 0 220px;height:3px;background:var(--pt-border);display:block}
.pt-pp-rep__bar i{display:block;height:3px;background:var(--pt-ink-2)}
.pt-pp .pt-tooltip-popup .pt-tt-header,.pt-pp .pt-tooltip-popup .pt-tt-group-label{display:block}

/* ── Owner line ── */
.pt-pp-own{margin:16px 40px 0}
.pt-pp-own__t{margin:0 0 8px;font-size:13px;color:var(--pt-ink-2)}

/* ── Tabs: underline, mono counts, sticky under the site header ── */
.pt-pp-tabs{scroll-margin-top:var(--pt-header-h,72px);display:flex;gap:26px;padding:0 40px;margin-top:26px;border-bottom:1px solid var(--pt-border-strong);background:var(--pt-surface-dim);position:sticky;top:var(--pt-header-h,72px);z-index:5}
.pt-pp-tab{display:flex;gap:6px;align-items:baseline;padding:11px 0;margin-bottom:-1px;border-bottom:2px solid transparent;font-size:14.5px;color:var(--pt-ink-3);white-space:nowrap}
.pt-pp-tab:hover{color:var(--pt-ink)}
.pt-pp-tab.is-on{color:var(--pt-ink);font-weight:600;border-bottom-color:var(--pt-ink)}
.pt-pp-tab__n{font-size:12px;font-weight:400;color:var(--pt-ink-3)}
.pt-pp-body{padding:20px 40px 36px}
.pt-pp-empty{margin:8px 0;padding:24px 0;font-size:14px;color:var(--pt-ink-2)}
.pt-pp-more{margin-top:16px;display:flex;gap:8px;flex-wrap:wrap}
.pt-pp-more:empty{display:none}

/* ── For sale / Sold: the shared card, 4 across ── */
.pt-pp-grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.pt-pp-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}

/* ── Reviews ── */
.pt-pp-rsum{display:flex;gap:24px;align-items:center;padding:16px 18px;background:var(--pt-surface);border:1px solid var(--pt-border-strong)}
.pt-pp-rsum__big b{display:block;font-size:30px;font-weight:600;line-height:1.1}
.pt-pp-rsum__big span{display:block;font-size:12.5px;color:var(--pt-ink-2);margin-top:2px}
.pt-pp-rsum__bars{flex:0 0 260px;font-size:12.5px;color:var(--pt-ink-2)}
.pt-pp-rsum__bars div{display:flex;align-items:center;gap:8px;margin:3px 0}
.pt-pp-rsum__bars span:first-child{width:22px}
.pt-pp-rsum__bars span:last-child{width:34px;text-align:right}
.pt-pp-rsum__bars i{flex:1;height:6px;background:var(--pt-border);display:block;position:relative}
.pt-pp-rsum__bars i b{position:absolute;left:0;top:0;bottom:0;background:var(--pt-ink-2)}
/* The List | Board toggle's style. */
.pt-pp-seg{margin-left:auto;display:flex;border:1px solid var(--pt-border-strong);flex-wrap:wrap}
.pt-pp .pt-pp-seg__b,.pt-pp .pt-pp-seg__b:focus,.pt-pp .pt-pp-seg__b:active{background:var(--pt-surface);color:var(--pt-ink-2);border:0;border-radius:0;padding:7px 12px;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap}
.pt-pp .pt-pp-seg__b:hover{background:var(--pt-fill-control);color:var(--pt-ink)}
.pt-pp .pt-pp-seg__b.is-on,.pt-pp .pt-pp-seg__b.is-on:hover,.pt-pp .pt-pp-seg__b.is-on:focus,.pt-pp .pt-pp-seg__b.is-on:active{background:var(--pt-fill-primary);color:var(--pt-on-primary)}
.pt-pp-rv{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;padding:16px 0;border-bottom:1px solid var(--pt-border)}
.pt-pp-rv__a img,span.pt-pp-rv__a{width:40px;height:40px;border-radius:50%;display:block;background:#8F8B80;object-fit:cover}
.pt-pp-rv__h{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0;font-size:14px}
.pt-pp-rv__h b{font-weight:600}
.pt-pp-stars{color:var(--pt-ink);letter-spacing:1px;font-size:13px}
.pt-pp-stars__off{color:var(--pt-border-strong)}
.pt-pp-rv__word{font-size:13px;font-weight:600}
.pt-pp-rv__tag{font-size:12px;border:1px solid var(--pt-border-strong);padding:1px 6px;color:var(--pt-ink-2)}
.pt-pp-rv__when{font-size:13px;color:var(--pt-ink-3)}
.pt-pp-rv__q{display:block;margin-top:6px;font-size:15px;line-height:1.45;quotes:"\201C" "\201D"}
.pt-pp-rv__q::before{content:open-quote}.pt-pp-rv__q::after{content:close-quote}
.pt-pp-rv__photos{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.pt-pp-rv__photos a{line-height:0}
.pt-pp-rv__photos img{width:64px;height:64px;object-fit:cover;border:1px solid var(--pt-border);display:block}
.pt-pp-rv__it{display:flex;align-items:center;gap:8px;margin:8px 0 0;font-size:13px;color:var(--pt-ink-2);flex-wrap:wrap}
.pt-pp-rv__it img,.pt-pp-rv__it i{width:36px;height:27px;object-fit:cover;display:block;background:var(--pt-fill-control);flex:0 0 auto}
.pt-pp-rv__it a:hover{text-decoration:underline}
.pt-pp-rv__reply{margin-top:10px;padding:10px 12px;background:#F4F2EC;font-size:13px;line-height:1.5;color:var(--pt-ink-2)}
.pt-pp-rv__reply b{color:var(--pt-ink);font-weight:600}
.pt-pp-reply{margin-top:8px}
.pt-pp .pt-pp-reply__open,.pt-pp .pt-pp-reply__open:focus,.pt-pp .pt-pp-reply__open:active{background:none;color:var(--pt-accent);border:0;padding:0;font-size:13px;font-weight:500;cursor:pointer}
.pt-pp .pt-pp-reply__open:hover{background:none;color:var(--pt-accent);text-decoration:underline}
.pt-pp-reply__form{margin-top:8px;max-width:620px;padding:12px;border:1px solid var(--pt-border);background:var(--pt-surface)}
.pt-pp-reply__lab{display:block;font-size:12.5px;color:var(--pt-ink-2);margin-bottom:8px}
.pt-pp-reply__form textarea{width:100%;box-sizing:border-box;border:1px solid var(--pt-border-strong);border-radius:0;padding:10px 12px;font:inherit;font-size:14px;line-height:1.5;resize:vertical;background:var(--pt-surface)}
.pt-pp-reply__form textarea:focus{outline:none;border-color:var(--pt-ink)}
.pt-pp-reply__btns{display:flex;gap:8px;justify-content:flex-end;margin-top:10px}
.pt-pp-reply__msg{margin:8px 0 0;font-size:12.5px;color:var(--pt-red-deep);min-height:0}

/* ── Garage ── */
.pt-pp-gb,.pt-pp .pt-build-card.pt-pp-gb{display:block;background:var(--pt-surface);border:1px solid var(--pt-border);border-radius:0;box-shadow:none;overflow:hidden;color:var(--pt-ink)}
.pt-pp-gb__im{display:block;aspect-ratio:16/9;background:var(--pt-fill-control);overflow:hidden;position:relative}
.pt-pp-gb__im img{width:100%;height:100%;object-fit:cover;display:block}
.pt-pp-gb__noimg{position:absolute;inset:0;width:100%;height:100%}
.pt-pp-gb__tx{display:block;padding:12px 14px}
.pt-pp-gb__t{display:block;font-size:15px;font-weight:600;line-height:1.35}
a.pt-pp-gb__t:hover{text-decoration:underline}
.pt-pp-gb__st{display:flex;gap:6px 8px;align-items:center;flex-wrap:wrap;margin-top:6px;font-size:12.5px;color:var(--pt-ink-2)}
/* Garage car with a build log: its project link under the engine (Leon, 8 Oct) */
.pt-pp-gb__pj,.pt-pp-gb__pj:hover{display:inline-block;margin-top:6px;font-size:12.5px;color:var(--pt-ink);text-decoration:none}
.pt-pp-gb__pj:hover{text-decoration:underline}
.pt-pp-chip{border:1px solid var(--pt-border-strong);padding:1px 7px}
.pt-pp-del{margin-left:auto}
.pt-pp .pt-pp-del button,.pt-pp .pt-pp-del button:focus,.pt-pp .pt-pp-del button:active{background:none;color:var(--pt-ink-2);border:0;padding:0;font-size:12.5px;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.pt-pp .pt-pp-del button:hover{background:none;color:var(--pt-ink)}

/* ── Posts + sub-page rows ── */
.pt-pp-post{padding:14px 0;border-bottom:1px solid var(--pt-border)}
.pt-pp-post b{font-size:15px;font-weight:600}
.pt-pp-post a:hover b{text-decoration:underline}
.pt-pp-post div{font-size:13px;color:var(--pt-ink-2);margin-top:4px}
.pt-pp-post__q{margin:6px 0 0;font-size:14px;line-height:1.45;color:var(--pt-ink)}
.pt-pp-subhd{display:flex;align-items:center;gap:12px;margin-bottom:6px}
.pt-pp-subhd h2{margin:0;font-size:18px;font-weight:600}
.pt-pp-back{margin-left:auto;display:inline-flex;align-items:center;gap:4px;font-size:13.5px;color:var(--pt-ink-2)}
.pt-pp-back:hover{color:var(--pt-ink)}
.pt-pp-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
.pt-pp-person{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--pt-border)}
.pt-pp-person__a img{width:44px;height:44px;border-radius:50%;display:block;object-fit:cover}
.pt-pp-person__m{flex:1;min-width:0}
.pt-pp-person__m b{display:block;font-size:14.5px;font-weight:600}
.pt-pp-person__m span{font-size:12.5px;color:var(--pt-ink-2)}
.pt-pp .pt-pp-person .pt-pp-btn{padding:7px 12px;font-size:13px}
.pt-pp-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.pt-pp-gallery .pt-gallery-grid-item{aspect-ratio:1;overflow:hidden;cursor:zoom-in;background:var(--pt-fill-control)}
.pt-pp-gallery img{width:100%;height:100%;object-fit:cover;display:block}
.pt-pp-pages .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;border:1px solid var(--pt-border-strong);font-family:"JetBrains Mono",ui-monospace,monospace;font-size:13px}
.pt-pp-pages .page-numbers.current{background:var(--pt-fill-primary);color:var(--pt-on-primary);border-color:var(--pt-fill-primary)}

/* ── Pager: auto-loads the next page as it nears the viewport; the button is the fallback ── */
.pt-pp-pager{margin-top:16px;display:flex;justify-content:center}

/* ═══ Phones ═══ */
@media (max-width:767px){
  .pt-pp-staff__in{padding:7px 16px}
  .pt-pp-mod{padding:4px 16px 12px}
  .pt-pp-hd{grid-template-columns:72px minmax(0,1fr);gap:14px;padding:18px 16px 12px}
  .pt-pp-av{grid-row:1/3}
  .pt-pp-av img{width:72px;height:72px}
  .pt-pp-nm h1{font-size:21px}
  .pt-pp-meta{font-size:13.5px}
  .pt-pp-who{display:contents}
  .pt-pp-nm,.pt-pp-meta,.pt-pp-sanction{grid-column:2}
  .pt-pp-nm{align-self:end}
  .pt-pp-meta{grid-row:2;margin-top:0;align-self:start}
  .pt-pp-sanction,.pt-pp-bio,.pt-pp-extra,.pt-pp-hd .pt-botw-awards{grid-column:1/-1}   /* the BOTW awards fell into the 72px avatar column (10 Oct) */
  .pt-pp-bio{font-size:14px;margin-top:2px}
  .pt-pp-acts{grid-column:1/-1}
  .pt-pp .pt-pp-acts .pt-pp-btn{flex:1}
  .pt-pp .pt-pp-acts .pt-pp-btn--sq{flex:0 0 44px}
  .pt-pp-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin:0 16px}
  .pt-pp-stat{padding:10px 12px}
  .pt-pp-stat:nth-child(3),.pt-pp-stat:nth-child(5){display:none}   /* phones: positive · sold · followers (tweaks brief) */
  .pt-pp-stat b{font-size:17px}
  .pt-pp-rep{margin:0 16px 8px;padding:8px 12px}
  .pt-pp-rep__bar{flex:1}
  .pt-pp-own{margin:12px 16px 0}
  .pt-pp-tabs{padding:0 16px;gap:18px;overflow-x:auto;margin-top:18px;scrollbar-width:none}
  .pt-pp-tabs::-webkit-scrollbar{display:none}
  .pt-pp-tab{font-size:14px}
  .pt-pp-body{padding:14px 16px 24px}
  .pt-pp-grid4,.pt-pp-grid3{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .pt-pp-gb__im{aspect-ratio:4/3}
  .pt-pp-rsum{flex-wrap:wrap;gap:14px}
  .pt-pp-rsum__bars{flex:1 1 100%}
  .pt-pp-seg{margin-left:0}
  .pt-pp-people{grid-template-columns:1fr}
  .pt-pp-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
}
@media (max-width:767px){
  .pt-pp-staff__in{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 8px;align-items:start}
  .pt-pp-staff__in > .pt-pp-i{margin-top:2px}
  .pt-pp-staff__links{grid-column:2;margin-left:0}
}


/* Posts tab — published blog posts (2 Oct 2026): a row like Topics, with the post's thumbnail when it has one. */
.pt-pp-blog{display:flex;gap:12px;align-items:center}
.pt-pp-blog__im{width:64px;height:48px;object-fit:cover;flex:0 0 auto;background:var(--pt-fill-control);display:block}
.pt-pp-blog__tx{display:block;min-width:0}
.pt-pp-blog__m{display:block;font-size:13px;color:var(--pt-ink-2);margin-top:4px}
.pt-pp-blog:hover b{text-decoration:underline}

/* ── FOLLOWERS TAB (tweaks brief Part 2) ── */
.pt-pp-ntop{display:flex;align-items:center;gap:12px;margin-bottom:6px;flex-wrap:wrap}
.pt-pp-sub2{margin-left:0;background:var(--pt-surface)}
.pt-pp .pt-pp-sub2 .pt-pp-seg__b{display:inline-flex;gap:6px;align-items:baseline;font-size:13.5px;padding:8px 14px}
.pt-pp .pt-pp-sub2 .pt-pp-seg__b + .pt-pp-seg__b{border-left:1px solid var(--pt-border-strong)}
.pt-pp-sub2 .pt-mono{font-size:12px;color:var(--pt-ink-3)}
.pt-pp-sub2 .is-on .pt-mono{color:#B9B6AC}
.pt-pp-nsrch{margin-left:auto;width:260px;height:36px;border:1px solid var(--pt-border-strong);background:var(--pt-surface);display:flex;align-items:center;gap:8px;padding:0 10px;color:var(--pt-ink-3)}
.pt-pp .pt-pp-nsrch input,.pt-pp .pt-pp-nsrch input:focus{border:0;outline:0;box-shadow:none;font:inherit;font-size:13.5px;flex:1;min-width:0;background:none;color:var(--pt-ink);padding:0;height:auto}
.pt-pp-nsrch:focus-within{border-color:var(--pt-ink)}
.pt-pp-people{display:block}
.pt-pp-person__t{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0;font-size:14.5px;font-weight:600}
.pt-pp-person__t a:hover{text-decoration:underline}
.pt-pp-person__vf{width:15px;height:15px;color:var(--pt-green-text)}
.pt-pp-person__rk{font-size:11.5px;font-weight:400;border:1px solid var(--pt-border-strong);padding:1px 6px;color:var(--pt-ink-2)}
.pt-pp-person__fy{font-size:11.5px;font-weight:500;background:#EFEDE7;padding:2px 6px;color:var(--pt-ink-2)}
.pt-pp-person__l{margin:2px 0 0;font-size:12.5px;color:var(--pt-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pt-pp .pt-pp-person .pt-pp-fb,.pt-pp .pt-pp-person .pt-pp-fb:focus,.pt-pp .pt-pp-person .pt-pp-fb:active{min-width:104px;padding:8px 12px;font-size:13px}
.pt-pp .pt-pp-fb.is-ing,.pt-pp .pt-pp-fb.is-ing:focus,.pt-pp .pt-pp-fb.is-ing:active{background:var(--pt-surface);color:var(--pt-ink);border-color:var(--pt-border-strong)}
.pt-pp .pt-pp-fb.is-ing:hover{background:var(--pt-surface);color:var(--pt-ink);border-color:var(--pt-ink)}
.pt-pp-fb__l2{display:none}
@media (hover:hover){ .pt-pp-fb.is-ing:hover .pt-pp-fb__l1{display:none} .pt-pp-fb.is-ing:hover .pt-pp-fb__l2{display:inline} }
.pt-pp .pt-pp-fb.is-me{color:var(--pt-ink-3);border-color:var(--pt-border);cursor:default;background:var(--pt-surface)}
.pt-pp-toast{position:fixed;left:50%;bottom:calc(22px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:100001;display:flex;gap:14px;align-items:center;background:var(--pt-ink);color:#FAF9F6;padding:10px 14px;font-size:13.5px;max-width:calc(100vw - 32px)}
.pt-pp-toast[hidden]{display:none}
.pt-pp-toast__undo,.pt-pp-toast__undo:hover,.pt-pp-toast__undo:focus,.pt-pp-toast__undo:active{background:none;border:0;padding:0;color:#9CC3EE;font:inherit;font-weight:600;cursor:pointer;text-decoration:underline}
@media (max-width:767px){
  .pt-pp-nsrch{margin-left:0;width:100%}
  .pt-pp .pt-pp-person .pt-pp-fb{min-width:92px}
}

.pt-pp-pager{flex-direction:column;align-items:center;gap:8px}
.pt-pp-pager__count{margin:0;font-size:12.5px;color:var(--pt-ink-2)}

/* The rank tooltip sits beside the name, near the right edge on a phone: anchor it to the trigger's RIGHT so it opens
   leftwards inside the screen (it was centred and ran 73px off the edge — the profile's sideways scroll, 2 Oct). */
@media (max-width: 600px) {
    .pt-pp-rk-wrap .pt-tooltip-popup { left: auto; right: 0; transform: none; }
    .pt-pp-rk-wrap .pt-tooltip-popup::after { left: auto; right: 12px; }
}

/* The privacy notice on the member's own profile (Leon, 8 Oct): lined up with the profile, not a full-width banner. */
.pt-pp > .pt-privoff{max-width:1200px;margin:16px auto 0}
@media (max-width:1232px){.pt-pp > .pt-privoff{margin:16px 16px 0}}
/* Profile ⋯ menu: Mute / Block (A3). */
.pt-pp-more { position: relative; display: inline-flex; }
.pt-pp-more__m { position: absolute; top: calc(100% + 6px); right: 0; z-index: 60; min-width: 190px; padding: 4px 0; background: #fff; border: 1px solid var(--pt-border-strong, #C9C7BF); box-shadow: 0 8px 24px rgba(26,26,26,.12); }
.pt-pp-more__m[hidden] { display: none; }
.pt-pp .pt-pp-more__m button, .pt-pp .pt-pp-more__m button:focus, .pt-pp .pt-pp-more__m button:active { display: block; width: 100%; padding: 10px 14px; border: 0; border-radius: 0; background: #fff; color: var(--pt-ink, #1A1A1A); font-size: 14px; font-weight: 400; text-align: left; cursor: pointer; }
.pt-pp .pt-pp-more__m button:hover { background: #F2F1EC; color: var(--pt-ink, #1A1A1A); }
@media (max-width: 760px) { .pt-pp .pt-pp-acts .pt-pp-more { flex: 0 0 44px; } .pt-pp .pt-pp-acts .pt-pp-more .pt-pp-btn--sq { flex: 1; } }
