/* Profile menu: avatar button at the top right and its dropdown card. */
.pm{position:relative;display:flex}
.pm-btn{position:relative;display:grid;place-items:center;padding:2px;border:2px solid transparent;border-radius:50%;background:none;cursor:pointer;transition:border-color .2s,transform .2s}
.pm-btn:hover,.pm.open .pm-btn{border-color:var(--accent)}
.pm-btn:active{transform:scale(.95)}
.pm-btn .mark{border-radius:50%;object-fit:cover}
.pm-star{position:absolute;right:-4px;bottom:-3px;width:16px;height:16px;border-radius:50%;display:grid;place-items:center;font-size:10px;background:var(--gold);color:var(--surface);box-shadow:0 0 0 2px var(--surface)}
.pm-panel{position:absolute;top:calc(100% + 12px);right:0;width:340px;max-width:calc(100vw - 24px);background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:14px;display:flex;flex-direction:column;gap:12px;z-index:30;max-height:calc(100dvh - 120px);overflow:auto;transform-origin:top right;animation:pm-in .22s var(--ease,ease) both}
.pm-panel[hidden]{display:none}
@keyframes pm-in{from{opacity:0;transform:translateY(-6px) scale(.97)}}
@media (prefers-reduced-motion:reduce){.pm-panel{animation:none}}
.pm-card{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:12px;background:var(--sunk)}
.pm-card.pro{background:linear-gradient(160deg,var(--gold-soft),var(--sunk) 70%);box-shadow:inset 0 0 0 1px var(--gold-soft)}
.pm-head{display:flex;gap:12px;align-items:center;min-width:0}
.pm-head>div{min-width:0;display:flex;flex-direction:column;gap:3px}
.pm-head b{font-family:var(--f-display);font-size:17px;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pm-head .muted{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pm-head .mark{border-radius:50%;object-fit:cover}
.pm-hl{margin:0;font-size:14px;line-height:1.4}
.pm-work{display:flex;flex-direction:column;gap:6px}
.pm-work a{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:8px;background:var(--surface);border:1px solid var(--line);text-decoration:none;color:var(--ink);font-size:13px;font-weight:600;transition:border-color .2s}
.pm-work a:hover{border-color:var(--accent)}
.pm-work a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pm-work a i{font-style:normal;color:var(--muted);font-weight:500;white-space:nowrap}
.pm-share{display:flex;flex-direction:column;gap:8px}
.pm-share code{display:block;font-size:13px;padding:7px 10px;border-radius:8px;background:var(--sunk);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;user-select:all}
.pm-btns{display:flex;gap:6px;flex-wrap:wrap}
.pm-btns .btn{flex:1;justify-content:center}
.pm-free{display:flex;flex-direction:column;gap:4px;align-items:flex-start;padding:10px 12px;border-radius:10px;background:var(--gold-soft);color:var(--ink);font-size:13px}
.pm-free b{color:var(--gold)}
.pm-free .btn{margin-top:6px}
.pm-cta{display:flex;flex-direction:column;gap:10px;align-items:flex-start;font-size:14px}
.pm-cta p{margin:0}
.pm-links{display:flex;flex-direction:column;border-top:1px solid var(--line);padding-top:6px;margin:0 -6px}
.pm-link{display:block;text-align:left;padding:9px 8px;border-radius:7px;border:0;background:none;font:inherit;font-size:14px;font-weight:500;color:var(--ink);text-decoration:none;cursor:pointer}
.pm-link:hover{background:var(--sunk)}
@media (max-width:520px){.nav-dash{display:none}.pm{position:static}.pm-panel{left:12px;right:12px;width:auto;max-width:none;top:calc(100% + 6px);max-height:calc(100dvh - 90px);overflow:auto}}
