/* Nothing.gripe shared profile navigation */

.ng-profile-site-head,.ng-secondary-top{
  position:sticky;top:0;z-index:70;border-bottom:1px solid var(--line,#2a2622);
  background:color-mix(in srgb,var(--paper,#14120f) 92%,transparent);backdrop-filter:blur(14px);
}
.ng-profile-site-head-inner,.ng-secondary-topin{
  width:min(1120px,calc(100% - 40px));min-height:70px;margin:0 auto;display:flex;
  align-items:center;justify-content:space-between;gap:20px;
}
.ng-secondary-nav{display:flex;align-items:center;justify-content:center;gap:22px;flex:1 1 auto;min-width:0}
.ng-secondary-nav a{
  color:var(--muted,#9a9283);text-decoration:none;font:600 10px/1 var(--mono,JetBrains Mono,monospace);
  letter-spacing:.055em;text-transform:uppercase;white-space:nowrap;
}
.ng-secondary-nav a:hover,.ng-secondary-nav a:focus-visible{color:var(--ink,#eee7d8)}
.ng-secondary-actions{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.ng-secondary-cta{
  position:relative;display:inline-flex;align-items:center;min-height:36px;padding:0 13px;
  border:1px solid var(--line,#2a2622);border-radius:999px;color:var(--ink,#eee7d8);
  background:transparent;text-decoration:none;font:700 10px/1 var(--mono,JetBrains Mono,monospace);
  letter-spacing:.055em;text-transform:uppercase;white-space:nowrap;
}
.ng-secondary-cta:hover,.ng-secondary-cta:focus-visible{background:color-mix(in srgb,var(--line,#2a2622) 50%,transparent)}
.nav-profile{position:relative;flex:0 0 auto;margin-left:0}
.nav-profile-trigger{
  position:relative;display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid var(--line,#2a2622);
  border-radius:50%;background:transparent;color:var(--ink,#eee7d8);cursor:pointer;overflow:visible;
}
.nav-profile-trigger:hover{border-color:var(--line,#2a2622);background:transparent;transform:none}
.nav-profile-trigger:focus-visible{outline:2px solid rgba(184,217,255,.75);outline-offset:3px}
.nav-profile-guest{
  display:grid;place-items:center;width:26px;height:26px;border:1px dashed var(--muted,#9a9283);
  border-radius:50%;font-family:var(--display,Instrument Serif,Georgia,serif);font-size:17px;line-height:1;color:var(--muted,#9a9283)
}
.nav-profile-image{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}
.nav-profile-verified{
  position:absolute;top:-2px;right:-2px;z-index:2;display:grid;place-items:center;width:14px;height:14px;
  border:2px solid var(--paper,#14120f);border-radius:50%;background:#b8d9ff;color:#17314d;
  font:800 8px/1 Inter,system-ui,sans-serif;box-sizing:border-box
}
.nav-profile-menu{
  position:absolute;top:100%;right:0;width:242px;box-sizing:border-box;padding:11px 9px 9px;
  border:0;border-radius:0;background:transparent;box-shadow:none;z-index:80
}
.nav-profile-menu::before{
  content:"";position:absolute;top:11px;right:0;bottom:0;left:0;border:1px solid var(--line,#2a2622);
  border-radius:14px;background:color-mix(in srgb,var(--paper,#14120f) 97%,#050505);box-shadow:0 22px 55px rgba(0,0,0,.38);z-index:0
}
.nav-profile-menu[hidden]{display:none!important}
.nav-profile-menu-head{position:relative;z-index:1;display:flex;align-items:center;gap:10px;padding:7px 7px 10px}
.nav-profile-menu-head img,.nav-profile-menu-guest{width:34px;height:34px;flex:0 0 34px;border-radius:50%}
.nav-profile-menu-head img{object-fit:cover}
.nav-profile-menu-guest{display:grid;place-items:center;border:1px dashed var(--muted,#9a9283);color:var(--muted,#9a9283);font-family:var(--display,Instrument Serif,Georgia,serif);font-size:17px}
.nav-profile-menu-head div{display:grid;gap:2px;min-width:0}
.nav-profile-menu-head strong{font-family:var(--display,Instrument Serif,Georgia,serif);font-size:15px;line-height:1.05;font-weight:400;letter-spacing:-.01em}
.nav-profile-menu-head span{color:var(--muted,#9a9283);font-size:10px;line-height:1.3}
.nav-profile-menu-rule{position:relative;z-index:1;height:1px;margin:1px 4px;background:var(--line,#2a2622)}
.nav-profile-menu a,.nav-profile-menu button{
  position:relative;z-index:1;width:100%;min-height:36px;display:flex;align-items:center;justify-content:space-between;
  gap:8px;padding:8px 7px;border:0;border-radius:7px;background:transparent;color:var(--ink,#eee7d8);
  font-family:var(--mono,JetBrains Mono,monospace);font-size:10px;letter-spacing:.045em;text-align:left;text-decoration:none;cursor:pointer
}
.nav-profile-menu a:hover,.nav-profile-menu button:hover,.nav-profile-menu a:focus-visible,.nav-profile-menu button:focus-visible{background:color-mix(in srgb,var(--line,#2a2622) 55%,transparent)}
.nav-profile-menu a span,.nav-profile-menu button span{color:var(--muted,#9a9283)}
.nav-draft-indicator{
  position:absolute;top:-3px;right:-3px;width:8px;height:8px;border:2px solid var(--paper,#14120f);border-radius:50%;
  background:var(--accent);box-shadow:0 0 12px color-mix(in srgb, var(--accent) 62%, transparent);pointer-events:none
}
.nav-draft-indicator[hidden]{display:none!important}
@media(max-width:900px){
  .ng-profile-site-head-inner,.ng-secondary-topin{width:min(100% - 28px,1120px);gap:12px;min-height:64px}
  .ng-secondary-nav{gap:14px;overflow:auto;justify-content:flex-start}
  .ng-secondary-nav a:nth-child(n+4){display:none}.ng-secondary-cta{display:none}.nav-profile-trigger{width:36px;height:36px}
}
@media(max-width:600px){
  .ng-profile-site-head-inner,.ng-secondary-topin{min-height:60px}.ng-secondary-nav{display:none}
  .ng-profile-site-head .brand,.ng-secondary-topin .brand{font-size:24px}.nav-profile-trigger{width:34px;height:34px}
  .nav-profile-menu{width:min(242px,calc(100vw - 28px))}
}
.ng-profile-request-key{display:grid;gap:6px;margin:0 0 4px;padding:0 0 12px}
.ng-profile-request-key>span{font-size:11px;opacity:.58;text-transform:uppercase;letter-spacing:.05em}
.ng-profile-work{border-top:1px solid rgba(127,127,127,.16)}
.ng-profile-work:first-child{border-top:0}
.ng-profile-work summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0}
.ng-profile-work summary::-webkit-details-marker{display:none}
.ng-profile-work summary span,.ng-profile-work summary small{display:block}
.ng-profile-work summary small{margin-top:4px;opacity:.58;text-transform:uppercase;letter-spacing:.05em}
.ng-profile-work summary strong{white-space:nowrap}
.ng-profile-work-body{padding:0 0 18px}
@media(max-width:700px){.ng-profile-work summary{align-items:flex-start}}

/* Guest avatar: the rotating Nothing.gripe seal (ring turns, n stays). */
.nav-profile[data-profile-state="guest"] .nav-profile-trigger{width:56px;height:56px;border:0}
.nav-profile-guest.is-seal{position:relative;display:block;width:56px;height:56px;border:0;border-radius:0}
.nav-profile-guest.is-seal svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.nav-profile-guest.is-seal img{position:absolute;left:50%;top:50%;width:60%;height:auto;transform:translate(-46%,-52%)}
.nav-profile-guest.is-seal svg{transform-origin:50% 50%;animation:ng-seal-spin 28s linear infinite;will-change:transform}
@keyframes ng-seal-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.nav-profile-guest.is-seal svg{animation:none}}
.nav-profile-menu:not([hidden]){animation:ng-menu-in .22s cubic-bezier(.22,1,.36,1) both}
.nav-profile-menu.is-closing{animation:ng-menu-out .2s ease both;pointer-events:none}
@keyframes ng-menu-in{from{opacity:0;transform:translateY(-6px)}}
@keyframes ng-menu-out{to{opacity:0;transform:translateY(-6px)}}
@media (prefers-reduced-motion:reduce){.nav-profile-menu:not([hidden]),.nav-profile-menu.is-closing{animation:none}}

.ng-profile-actions{margin-top:14px}
.ng-profile-hire-btn{
  display:inline-flex;align-items:center;gap:8px;padding:8px 16px;
  background:#eee7d8;color:#14120f;font-weight:600;font-size:12px;
  letter-spacing:.03em;text-transform:uppercase;text-decoration:none;
  border-radius:999px;transition:all .15s ease;
}
.ng-profile-hire-btn:hover{background:#fff;transform:translateY(-1px)}

/* Signed-in and guest menus: pill tiles, light and dark. Scoped to .is-card so the old menu rows are untouched. */
.nav-profile-menu.is-card{
  --npm-bg:#14120f;--npm-tile:#1d1a17;--npm-ink:#eee7d8;--npm-muted:#8a8275;--npm-line:#2a2622;
  --npm-chip:rgba(143,162,255,.14);--npm-chip-ink:#c1cbff;--npm-out:#e88a7a;
  width:min(304px,calc(100vw - 28px));padding:14px 12px 12px
}
[data-mode="light"] .nav-profile-menu.is-card{
  --npm-bg:#fbfaf6;--npm-tile:#f1efe7;--npm-ink:#1d1b16;--npm-muted:#7a7568;--npm-line:#e2ddd0;
  --npm-chip:#e6e9ff;--npm-chip-ink:#3142c9;--npm-out:#a2402c
}
.nav-profile-menu.is-card::before{top:0;border-radius:24px;background:var(--npm-bg);border-color:var(--npm-line);box-shadow:0 24px 60px rgba(0,0,0,.34)}
[data-mode="light"] .nav-profile-menu.is-card::before{box-shadow:0 18px 44px rgba(22,20,15,.14)}
.nav-profile-menu.is-card>*{position:relative;z-index:1}
.nav-profile-menu.is-card .npm-head{display:flex;align-items:center;gap:12px;padding:4px 6px 0}
.nav-profile-menu.is-card .npm-avatar{width:46px;height:46px;flex:none;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px var(--npm-line)}
.nav-profile-menu.is-card .npm-id{display:grid;gap:6px;min-width:0}
.nav-profile-menu.is-card .npm-id strong{font-family:var(--display,'Instrument Serif',Georgia,serif);font-weight:400;font-size:19px;line-height:1.15;letter-spacing:-.01em;color:var(--npm-ink)}
.nav-profile-menu.is-card .npm-id span{font:400 11px/1.2 var(--mono,'JetBrains Mono',monospace);letter-spacing:.04em;color:var(--npm-muted);overflow-wrap:anywhere}
.nav-profile-menu.is-card .npm-verified{display:inline-flex;align-items:center;gap:7px;margin:12px 0 0 6px;padding:5px 11px;border-radius:999px;background:var(--npm-chip);color:var(--npm-chip-ink);font:400 11px/1 var(--mono,'JetBrains Mono',monospace)}
.nav-profile-menu.is-card .npm-verified i{width:6px;height:6px;border-radius:50%;background:currentColor}
.nav-profile-menu.is-card .npm-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.nav-profile-menu.is-card .npm-tile{box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-between;gap:14px;min-height:96px;padding:14px;border-radius:20px;background:var(--npm-tile);color:var(--npm-ink);text-decoration:none;transition:transform .3s cubic-bezier(.22,1,.36,1),background .3s}
.nav-profile-menu.is-card .npm-tile:last-child:nth-child(odd){grid-column:1/-1;flex-direction:row;align-items:center;justify-content:flex-start;min-height:0;padding:12px 14px}
.nav-profile-menu.is-card .npm-tile:hover{transform:translateY(-2px);background:color-mix(in srgb,var(--npm-tile) 84%,var(--npm-chip-ink))}
.nav-profile-menu.is-card .npm-tile:focus-visible,.nav-profile-menu.is-card .npm-out:focus-visible{outline:2px solid var(--npm-chip-ink);outline-offset:2px}
.nav-profile-menu.is-card .npm-ico{display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:50%;background:var(--npm-bg);color:var(--npm-chip-ink);box-shadow:inset 0 0 0 1px var(--npm-line)}
.nav-profile-menu.is-card .npm-ico svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nav-profile-menu.is-card .npm-label{font:400 13px/1.2 var(--mono,'JetBrains Mono',monospace);color:var(--npm-ink)}
.nav-profile-menu.is-card .npm-out{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:9px;width:100%;height:50px;margin-top:10px;padding:0;border:1px solid var(--npm-line);border-radius:999px;background:transparent;color:var(--npm-out);font:400 13px/1 var(--mono,'JetBrains Mono',monospace);cursor:pointer;transition:background .3s}
.nav-profile-menu.is-card .npm-out:hover{background:color-mix(in srgb,var(--npm-out) 10%,transparent)}
.nav-profile-menu.is-card .npm-out .npm-ico{width:auto;height:auto;background:none;box-shadow:none;color:inherit}
.nav-profile-menu.is-card .npm-out .npm-ico svg{width:16px;height:16px}
@media (prefers-reduced-motion:reduce){.nav-profile-menu.is-card .npm-tile{transition:none}}

/* Guest menu: dashed guest mark, a primary action first, then two tiles and the privacy note. */
.nav-profile-menu.is-card .npm-guest-mark{display:grid;place-items:center;width:46px;height:46px;flex:none;box-sizing:border-box;border:1.5px dashed var(--npm-muted);border-radius:50%;color:var(--npm-muted);font-family:var(--display,'Instrument Serif',Georgia,serif);font-size:22px;line-height:1}
.nav-profile-menu.is-card .npm-primary{box-sizing:border-box;width:100%;min-height:56px;margin-top:16px;flex-direction:row;align-items:center;justify-content:flex-start;gap:12px;padding:10px 14px;border:0;border-radius:20px;background:var(--npm-ink);color:var(--npm-bg);text-align:left;cursor:pointer}
.nav-profile-menu.is-card .npm-primary:hover{transform:translateY(-2px);background:color-mix(in srgb,var(--npm-ink) 90%,var(--npm-bg))}
.nav-profile-menu.is-card .npm-primary .npm-ico{background:var(--npm-bg);color:var(--npm-ink);box-shadow:none}
.nav-profile-menu.is-card .npm-primary .npm-label{color:var(--npm-bg)}
.nav-profile-menu.is-card .npm-note{margin:14px 6px 0;font:400 11px/1.55 var(--mono,'JetBrains Mono',monospace);color:var(--npm-muted)}

/* Phones: a narrower, shorter card so it doesn't fill the screen. Desktop sizes are unchanged. */
@media (max-width:600px){
  .nav-profile-menu.is-card{width:min(256px,calc(100vw - 32px));padding:10px 9px 9px}
  .nav-profile-menu.is-card .npm-avatar,.nav-profile-menu.is-card .npm-guest-mark{width:40px;height:40px;font-size:19px}
  .nav-profile-menu.is-card .npm-head{gap:10px;padding:2px 4px 0}
  .nav-profile-menu.is-card .npm-id{gap:4px}
  .nav-profile-menu.is-card .npm-id strong{font-size:16px}
  .nav-profile-menu.is-card .npm-id span{font-size:10px}
  .nav-profile-menu.is-card .npm-verified{margin:9px 0 0 4px;padding:4px 9px;font-size:10px}
  .nav-profile-menu.is-card .npm-grid{gap:8px;margin-top:10px}
  .nav-profile-menu.is-card .npm-tile{min-height:70px;padding:10px;gap:8px;border-radius:16px}
  .nav-profile-menu.is-card .npm-tile:last-child:nth-child(odd){min-height:0;padding:8px 10px}
  .nav-profile-menu.is-card .npm-ico{width:30px;height:30px}
  .nav-profile-menu.is-card .npm-ico svg{width:15px;height:15px}
  .nav-profile-menu.is-card .npm-label{font-size:12px}
  .nav-profile-menu.is-card .npm-primary{min-height:46px;margin-top:10px;padding:8px 10px;border-radius:16px}
  .nav-profile-menu.is-card .npm-out{height:44px;margin-top:8px}
  .nav-profile-menu.is-card .npm-note{margin-top:8px;font-size:10px;line-height:1.5}
}
