.qpf-app{display:grid;grid-template-columns:72px minmax(0,680px);min-height:100dvh;font-family:var(--font);color:var(--ink)}.qpf-main{min-width:0;border-right:1px solid var(--line);padding-bottom:56px}.qpf-panel{height:100%;overflow-y:auto}.qpf-panel .qpf-main{border-right:0;padding-bottom:40px}.qpf-inset{padding-left:20px;padding-right:20px}.qpf-bar{display:flex;align-items:center;gap:8px;padding:18px 16px 0}.qpf-bar h1{min-width:0;flex:1;margin:0;font-family:var(--display);font-style:italic;font-size:20px;letter-spacing:-.5px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qpf-id{position:relative;margin-top:22px;display:flex;align-items:flex-start;gap:14px;padding:16px 16px 15px;background:var(--bg);border:2px solid var(--ink);box-shadow:var(--hard-y);transform:rotate(-1.1deg)}.qpf-id-col{width:74px;flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:8px}.qpf-avatar{position:relative;width:74px;height:74px;overflow:hidden;background:#0a0a0a;color:var(--brand);border:3px solid var(--ink);display:grid;place-items:center;font-family:var(--display);font-style:italic;font-size:26px}.qpf-avatar img{width:100%;height:100%;object-fit:cover;display:block}.qpf-avatar:after{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle at 3px 3px,rgba(0,0,0,.24) 1px,transparent 1.3px);background-size:7px 7px}.qpf-id-meat{min-width:0;flex:1;padding-top:2px}.qpf-id-name{margin:0;font-family:var(--display);font-style:italic;font-size:22px;letter-spacing:-.6px;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qpf-id-bio{margin:8px 0 0;font-size:var(--t-sm);color:var(--ink-2);line-height:1.5;overflow-wrap:anywhere}.qpf-id-stamp{position:absolute;top:-11px;right:14px;transform:rotate(4deg);font-size:11px;letter-spacing:2px;padding:3px 8px}.qpf-band{margin-top:14px;background:var(--ink);color:var(--on-ink)}.qpf-band-row{display:flex;align-items:stretch}.qpf-stat{flex:1;display:flex;flex-direction:column;align-items:center;padding:11px 6px}.qpf-stat b{font-family:var(--display);font-style:italic;font-size:21px;line-height:1;letter-spacing:-.5px}.qpf-stat.is-unknown b{color:color-mix(in srgb,var(--on-ink) 45%,transparent)}.qpf-stat small{margin-top:3px;font-family:var(--label);font-style:italic;font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:color-mix(in srgb,var(--on-ink) 62%,transparent)}.qpf-vrule{width:1px;margin:11px 0}.qpf-hrule,.qpf-vrule{background:color-mix(in srgb,var(--on-ink) 14%,transparent)}.qpf-hrule{height:1px}.qpf-social{flex:1;display:flex;align-items:baseline;justify-content:center;gap:7px;padding:11px 12px;color:var(--on-ink);text-decoration:none}.qpf-social:hover{background:color-mix(in srgb,var(--on-ink) 6%,transparent)}.qpf-social b{font-family:var(--display);font-style:italic;font-size:15px}.qpf-social.is-unknown b{color:color-mix(in srgb,var(--on-ink) 45%,transparent)}.qpf-social small{font-family:var(--label);font-style:italic;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:color-mix(in srgb,var(--on-ink) 62%,transparent)}.qpf-actions{margin-top:14px;display:flex;gap:8px}.qpf-actions .qw-btn{flex:1}.qpf-tabs{margin-top:20px}.qpf-tabs button{display:inline-flex;align-items:center;gap:6px}.qpf-tabs svg{width:14px;height:14px}.qpf-grid{margin-top:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}.qpf-tile{position:relative;aspect-ratio:1;overflow:hidden;display:block;background:var(--bg-3);color:var(--ink-3)}.qpf-tile img{width:100%;height:100%;object-fit:cover;display:block}.qpf-tile-ph{position:absolute;inset:0;display:grid;place-items:center}.qpf-tile-ph svg{width:22px;height:22px}a.qpf-tile:hover img{transform:scale(1.03);transition:transform var(--qw-dur) var(--qw-ease)}.qpf-tile.is-empty{background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line)}.qpf-tile.is-sk{background:var(--bg-3)}.qpf-tile-name{position:absolute;left:0;right:0;bottom:0;padding:5px 6px 6px;background:rgba(0,0,0,.7);color:#fff;font-size:11px;font-weight:800;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qpf-tile-type{position:absolute;top:4px;left:4px;width:18px;height:18px;background:#000;border:1.5px solid #fff;color:var(--brand);display:grid;place-items:center}.qpf-tile-type svg{width:10px;height:10px}.qpf-empty-note{margin-top:16px;text-align:center}.qpf-empty-note b{display:block;font-family:var(--display);font-style:italic;font-size:15px;color:var(--ink-2)}.qpf-empty-note small{display:block;margin-top:5px;font-family:var(--label);font-style:italic;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-3)}.qpf-section{margin-top:16px}.qpf-more{margin-top:14px;display:flex;justify-content:center}.qpf-notfound{padding:60px 20px 0}@media (max-width:767px){.qpf-app{grid-template-columns:minmax(0,1fr)}.qpf-main{border-right:0;padding-bottom:calc(56px + env(safe-area-inset-bottom) + 24px)}}.qpf-bar-plain{padding-left:20px}.qpf-people-count{margin-top:14px;font-size:11px;letter-spacing:2px}.qpf-people{list-style:none;margin:6px 0 0;padding:0}.qpf-person.qw-row{height:68px;padding-top:0;padding-bottom:0}.qpf-person .qw-avatar{width:44px;height:44px;font-size:16px}.qpf-person-link{display:flex;align-items:center;gap:12px;min-width:0;flex:1;color:inherit;text-decoration:none;height:100%}.qpf-person-link:hover .qpf-person-name-text{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}.qpf-person-body{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}.qpf-person-name{display:flex;align-items:center;gap:6px;min-width:0;font-weight:800;font-size:var(--t-md);line-height:1.3}.qpf-person-name-text{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qpf-person-rel{flex:0 0 auto;height:18px;padding:0 6px;font-size:10px}.qpf-person-sub{font-size:var(--t-sm);color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qpf-person-end{flex:0 0 auto;width:96px;display:flex;justify-content:flex-end}.qpf-person-end .qw-btn{width:100%;padding:0 6px}.qpf-person-you{font-size:11px;letter-spacing:2px}.qpf-person.is-sk .qw-sk.square{width:44px;height:44px}.qpf-person.is-sk .qpf-person-body{gap:8px}.qpf-person.is-sk .qw-sk.block{aspect-ratio:auto;display:block;width:96px;height:32px}.qpf-more-col{flex-direction:column;align-items:center;gap:8px}.qpf-more-err{font-size:var(--t-xs);color:var(--danger);font-weight:700}