/* Nexoniarz — personal page (views/pandor-system/portfolio/425013660042264587.ejs). Niveus tokens only. */
.nx { padding-block-end: var(--nv-space-12); }
.nx-mono { font-family: var(--nv-font-family-mono); }
.nx-section { padding-block: var(--nv-space-10) 0; }
.nx-section__head { display: flex; flex-direction: column; gap: var(--nv-space-2); margin-block-end: var(--nv-space-6); max-inline-size: 44rem; }

/* hero: a person first, then what they do */
.nx-hero { display: flex; flex-direction: column; gap: var(--nv-space-5); padding-block: var(--nv-space-12) var(--nv-space-4); }
.nx-hero > * { max-inline-size: 52rem; }
.nx-hero__who { display: flex; align-items: center; gap: var(--nv-space-5); }
.nx-hero__avatar { inline-size: 5.5rem; block-size: 5.5rem; flex: none; }
.nx-hero__avatar img { inline-size: 100%; block-size: 100%; object-fit: cover; border-radius: inherit; }
.nx-hero__name { line-height: 1.05; }
.nx-hero__lead { font-size: var(--nv-font-size-xl, 1.25rem); line-height: 1.55; color: var(--nv-color-text-primary); }
.nx-hero .nv-prose a { color: var(--nv-color-accent-text); }
.nx-pulse { display: inline-flex; align-items: center; gap: var(--nv-space-3); align-self: flex-start; max-inline-size: 100%; padding: var(--nv-space-2) var(--nv-space-4); border-radius: var(--nv-radius-full);
  background-color: var(--nv-color-surface-inset); border: var(--nv-border-width) solid var(--nv-color-border-subtle); color: var(--nv-color-text-primary); text-decoration: none; }
.nx-pulse > span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nx-pulse:hover { border-color: var(--nv-color-border); }
.nx-pulse__dot { inline-size: 8px; block-size: 8px; flex: none; border-radius: 50%; background-color: var(--nv-color-success); box-shadow: 0 0 0 0 color-mix(in srgb, var(--nv-color-success) 60%, transparent); animation: nx-pulse 2.4s var(--nv-ease-standard, ease) infinite; }
@keyframes nx-pulse { 70% { box-shadow: 0 0 0 8px transparent; } 100% { box-shadow: 0 0 0 0 transparent; } }

/* right now */
.nx-now { display: grid; gap: var(--nv-space-4); grid-template-columns: repeat(auto-fit, minmax(min(16rem, 100%), 1fr)); }
.nx-now__item > a { color: inherit; text-decoration: none; block-size: 100%; }
.nx-now__msg { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; color: var(--nv-color-text-secondary); }

/* projects: a list of stories, not a grid of tiles */
.nx-work { display: flex; flex-direction: column; }
.nx-project { display: grid; grid-template-columns: 4.5rem 1fr; gap: var(--nv-space-6); padding-block: var(--nv-space-8); border-block-start: var(--nv-border-width) solid var(--nv-color-border-subtle); }
.nx-project:first-child { border-block-start: 0; padding-block-start: 0; }
.nx-project__side { display: flex; flex-direction: column; align-items: center; gap: var(--nv-space-3); }
.nx-project__no { font-size: var(--nv-font-size-xs); color: var(--nv-color-text-tertiary); letter-spacing: 0.1em; }
.nx-project__name { font-size: var(--nv-font-size-2xl, 1.6rem); }
.nx-project__line { font-size: var(--nv-font-size-lg, 1.1rem); color: var(--nv-color-text-primary); max-inline-size: 44rem; }
.nx-why { margin: 0; padding: var(--nv-space-3) var(--nv-space-4); max-inline-size: 44rem; border-inline-start: 3px solid var(--nx-c, var(--nv-color-accent)); border-radius: 0 var(--nv-radius-md) var(--nv-radius-md) 0;
  background-color: color-mix(in srgb, var(--nx-c, var(--nv-color-accent)) 7%, var(--nv-color-surface-inset)); color: var(--nv-color-text-secondary); font-style: italic; }
.nx-facts { display: grid; gap: var(--nv-space-2) var(--nv-space-6); grid-template-columns: repeat(auto-fit, minmax(min(18rem, 100%), 1fr)); max-inline-size: 48rem; }
.nx-facts li { display: flex; gap: var(--nv-space-2); align-items: flex-start; color: var(--nv-color-text-secondary); font-size: var(--nv-font-size-sm); }
.nx-facts svg { flex: none; margin-block-start: 3px; color: var(--nx-c, var(--nv-color-accent)); }

/* setup */
.nx-setup { display: grid; gap: var(--nv-space-4); grid-template-columns: repeat(auto-fit, minmax(min(17rem, 100%), 1fr)); }
.nx-list { display: flex; flex-direction: column; gap: var(--nv-space-1); padding-inline-start: var(--nv-space-4); list-style: disc; }

/* rules */
.nx-ways { display: grid; gap: var(--nv-space-5) var(--nv-space-8); grid-template-columns: repeat(auto-fit, minmax(min(20rem, 100%), 1fr)); }
.nx-ways li { display: flex; gap: var(--nv-space-4); align-items: flex-start; }
.nx-ways__n { display: grid; place-items: center; inline-size: 2rem; block-size: 2rem; flex: none; border-radius: var(--nv-radius-full); background-color: var(--nv-color-surface-inset); border: var(--nv-border-width) solid var(--nv-color-border); color: var(--nv-color-accent-text); }

/* timeline */
.nx-time { display: flex; flex-wrap: wrap; gap: var(--nv-space-3); }
.nx-time li { display: flex; flex-direction: column; gap: var(--nv-space-1); padding: var(--nv-space-3) var(--nv-space-4); min-inline-size: 9rem; border-radius: var(--nv-radius-md);
  background-color: var(--nv-color-surface-inset); border-block-start: 3px solid var(--nx-c); }
.nx-time a { color: inherit; text-decoration: none; }

.nx-end { text-align: center; align-items: center; display: flex; flex-direction: column; gap: var(--nv-space-3); }

@media (max-width: 40rem) {
  .nx-hero { padding-block-start: var(--nv-space-8); }
  .nx-hero__who { align-items: flex-start; flex-direction: column; gap: var(--nv-space-3); }
  .nx-project { grid-template-columns: 1fr; gap: var(--nv-space-3); }
  .nx-project__side { flex-direction: row; }
}

/* Featured project: picked from Pandor Git (the largest repository), copy on the left, its figures on the right. */
.nx-feat__body { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: var(--nv-space-8); align-items: start; padding: var(--nv-space-8); }
.nx-feat__name { margin: 0; }
.nx-figs { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--nv-space-3); }
.nx-figs dd { margin: 0; }
.nx-figs__v { font-size: var(--nv-font-size-2xl, 1.5rem); line-height: 1.15; font-weight: var(--nv-font-weight-semibold); color: var(--nv-color-text-primary); font-variant-numeric: tabular-nums; }
@media (max-width: 56rem) { .nx-feat__body { grid-template-columns: minmax(0, 1fr); padding: var(--nv-space-5); } }
/* Language share of a repository, from Pandor Git. */
.nx-langs { display: flex; flex-direction: column; gap: var(--nv-space-1-5, 6px); max-inline-size: 28rem; }
.nx-langs__bar { display: flex; gap: 2px; block-size: 6px; border-radius: 99px; overflow: hidden; background: var(--nv-color-surface-inset); }
.nx-langs__bar span { background: var(--nx-c, var(--nv-color-accent)); }
