/* PT TOWN — หน้าเพื่อนออนไลน์ (pf-*) */
.pf-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}
.pf-stat{position:relative;display:flex;flex-direction:column;gap:2px;padding:12px;border:1px solid var(--line);border-radius:var(--r);background:#fff;box-shadow:var(--sh);min-width:0}
.pf-stat small{font-size:12px;color:var(--muted);line-height:1.3}
.pf-stat b{font-size:24px;line-height:1.15;color:var(--ink);font-variant-numeric:tabular-nums}
.pf-stat em{font-style:normal;font-size:12px;color:var(--muted)}
.pf-stat.is-live{background:#effaf3;border-color:#bfe6cd}
.pf-stat.is-live b{color:var(--ok)}
.pf-dot{position:absolute;top:12px;right:12px;width:10px;height:10px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 0 rgba(47,158,98,.5);animation:pf-pulse 1.6s infinite}
@keyframes pf-pulse{0%{box-shadow:0 0 0 0 rgba(47,158,98,.55)}80%{box-shadow:0 0 0 9px rgba(47,158,98,0)}100%{box-shadow:0 0 0 0 rgba(47,158,98,0)}}
@media(max-width:420px){.pf-stat{padding:10px 8px}.pf-stat b{font-size:20px}.pf-stat small{font-size:11px}}

.pf-plaza{height:min(42vh,340px);background:#cfe8f5}
.pf-tags{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.pf-tag{position:absolute;left:0;top:0;padding:2px 8px;border-radius:99px;background:rgba(255,255,255,.92);color:var(--ink);font-size:11.5px;font-weight:700;white-space:nowrap;box-shadow:0 2px 6px rgba(0,0,0,.12)}
.pf-tag i{font-style:normal;margin-left:4px}
.pf-tag.is-me{background:var(--brand);color:#fff}
.pf-plaza-cap{position:absolute;left:10px;bottom:8px;padding:3px 10px;border-radius:99px;background:rgba(255,255,255,.85);font-size:12px;color:var(--ink2);pointer-events:none}

.pf-list{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
@media(min-width:760px){.pf-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pf-row{display:grid;grid-template-columns:56px minmax(0,1fr);gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.pf-av{position:relative;width:56px;height:56px}
.pf-av img{width:56px;height:56px;border-radius:50%;background:#ffe9d6;border:2px solid #fff;box-shadow:0 0 0 1px var(--line);object-fit:cover;display:block}
.pf-av .pf-on{position:absolute;right:1px;bottom:1px;width:14px;height:14px;border-radius:50%;background:var(--ok);border:2px solid #fff}
.pf-av .pf-on.is-off{background:#b9b2bd}
.pf-info{min-width:0}
.pf-name{display:flex;align-items:center;gap:6px;font-weight:700;font-size:15px;min-width:0}
.pf-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pf-lv{flex:none;font-style:normal;padding:1px 8px;border-radius:99px;background:#fff6dc;color:#7a5200;font-size:11.5px;font-weight:700}
.pf-meta{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:2px;font-size:12.5px;color:var(--muted)}
.pf-where{color:var(--ink2);font-weight:600}
.pf-acts{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.pf-acts .ptm-btn{padding:9px 10px;font-size:14px}
.pf-acts a.ptm-btn{text-decoration:none}
.pf-acts a.ptm-btn.is-ghost,.pf-acts a.ptm-btn.is-ghost:hover{color:var(--ink)}
.pf-empty{padding:24px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:var(--r);background:#fff}
.pf-how b{color:var(--ink2)}
.pf-plaza-msg{position:absolute;left:50%;top:10px;transform:translateX(-50%);max-width:calc(100% - 20px);padding:6px 14px;border-radius:99px;background:rgba(255,255,255,.92);color:var(--ink2);font-size:13px;font-weight:600;text-align:center;box-shadow:0 2px 8px rgba(0,0,0,.12);pointer-events:none}
.pf-plaza-msg[hidden]{display:none}
.pf-me{flex:none;font-style:normal;padding:1px 8px;border-radius:99px;background:var(--brand);color:#fff;font-size:11.5px;font-weight:700}
.pf-likes{color:#c2185b;font-weight:600}
.pf-acts.is-one{grid-template-columns:minmax(0,1fr)}
.pf-acts .ptm-btn:disabled{opacity:.55;cursor:default}
.pf-empty .pf-login{display:inline-block;margin-top:10px;text-decoration:none;color:#fff}
