/* ==========================================================================
   damxmare.com · the early-access pages (P2-215). The Nexodyne house style:
   ink, paper and the signal yellow; Fraunces and Geist with Noto Serif Georgian
   and Noto Sans Georgian. Sizes in rem and breakpoints in em, so the reader's
   own font size wins; no box has a fixed height around text.
   One rule of the page: a dashed outline means "planned", a solid one "exists".
   ========================================================================== */

/* ---- Fonts: self-hosted variable woff2, licences in /fonts/LICENSES ---- */
@font-face {
  font-family: "Fraunces";
  src: url("/fonts/fraunces-roman.woff2") format("woff2");
  font-weight: 300 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Geist";
  src: url("/fonts/geist.woff2") format("woff2");
  font-weight: 300 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Noto Serif Georgian";
  src: url("/fonts/noto-serif-georgian.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+10A0-10FF, U+1C90-1CBF, U+2D00-2D2F, U+20BE;
}
@font-face {
  font-family: "Noto Sans Georgian";
  src: url("/fonts/noto-sans-georgian.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+10A0-10FF, U+1C90-1CBF, U+2D00-2D2F, U+20BE;
}
/* Metric-matched fallbacks (the house values), so the font swap does not move the page */
@font-face {
  font-family: "Fraunces Fallback";
  src: local("Georgia");
  size-adjust: 84.84%;
  ascent-override: 115.51%;
  descent-override: 30.65%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "Geist Fallback";
  src: local("Arial"), local("Helvetica");
  size-adjust: 102.4%;
  ascent-override: 98.64%;
  descent-override: 28.32%;
  line-gap-override: 0%;
}

/* ---- Tokens (the house palette; contrast ratios noted where text uses them) ---- */
:root {
  --ink-1000: #0B0B1A;   /* footer */
  --ink-900:  #11112A;   /* header, opening, the form */
  --ink-800:  #191936;   /* raised on ink */
  --ink-600:  #282858;   /* heritage indigo: links and focus on paper (13.2:1 on paper) */
  --mist:     #9A9AC0;   /* muted text on ink (6.8:1 on ink-900, 7.2:1 on ink-1000) */
  --mist-hi:  #C4C4DC;   /* running text on ink (10.8:1 on ink-900) */
  --paper:    #F5F5F0;
  --paper-0:  #FAFAF6;   /* raised on paper, form fields */
  --paper-2:  #ECECE4;   /* sunken on paper */
  --text:     #14142B;   /* text on paper (16.4:1) */
  --muted:    #55557A;   /* muted text on paper (6.5:1; 6.0:1 on paper-2) */
  --signal:   #FEDB71;   /* the signal: the one button, the marker, the dot. Never text on paper. Ink on it: 13.9:1 */
  --signal-hi:#FFE9A6;
  --signal-deep: #7A5C00;/* gold text on paper (5.7:1) */
  --gold-line:#D9A92E;   /* gold rules on paper (decorative) */
  --error-ink:  #FF9B8F; /* error text on ink (9.1:1 on ink-900) */

  --font-serif: "Fraunces", "Noto Serif Georgian", "Fraunces Fallback", Georgia, serif;
  --font-sans:  "Geist", "Noto Sans Georgian", "Geist Fallback", system-ui, -apple-system, "Segoe UI", sans-serif;

  --step--1: 0.9rem;
  --step-0:  1.0625rem;
  --step-1:  clamp(1.125rem, 1.05rem + 0.35vw, 1.3125rem);
  --step-2:  clamp(1.3rem, 1.15rem + 0.6vw, 1.625rem);
  --step-3:  clamp(1.6rem, 1.2rem + 1.7vw, 2.75rem);
  --step-4:  clamp(1.25rem, 0.4rem + 5.5vw, 4rem);   /* the longest Georgian word of the headline must fit a 355 px screen at root 20 px */

  --gutter: clamp(1rem, 0.5rem + 3vw, 3.5rem);
  --gap: clamp(1.25rem, 0.8rem + 1.6vw, 2.5rem);
  --section-y: clamp(3.5rem, 2rem + 6vw, 7.5rem);
  --max: 74rem;
  --measure: 36rem;
  --radius: 0.375rem;

  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --dur: 240ms;

  /* the visit-counting strip (css/track.css reads these) */
  --nxm-bg: #FFE9A6;
  --nxm-ink: #11112A;
  --nxm-line: #D9A92E;
}

/* Theme scopes: every band of the page says which one it is */
.paper {
  --bg: var(--paper);
  --fg: var(--text);
  --fg-muted: var(--muted);
  --line: rgb(20 20 43 / 0.16);
  --line-strong: rgb(20 20 43 / 0.42);
  --focus: var(--ink-600);
  --link: var(--ink-600);
  color-scheme: light;
}
.ink, .deep {
  --bg: var(--ink-900);
  --fg: var(--paper);
  --fg-muted: var(--mist);
  --line: rgb(154 154 192 / 0.2);
  --line-strong: rgb(154 154 192 / 0.5);
  --focus: var(--signal);
  --link: var(--paper);
  color-scheme: dark;
}
.deep { --bg: var(--ink-1000); }

/* ---- Reset and base ---- */
*, *::before, *::after { box-sizing: border-box; }
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: auto;
}
body {
  margin: 0;
  background: var(--ink-1000);
  color: var(--text);
  font-family: var(--font-sans);
  font-size: var(--step-0);
  line-height: 1.6;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  overflow-wrap: break-word;
}
[hidden] { display: none !important; }
h1, h2, h3, p, ul, ol, figure, fieldset, table { margin: 0; padding: 0; }
ul[role="list"], ol[role="list"] { list-style: none; }
fieldset { border: 0; min-width: 0; }
legend { padding: 0; }
img { display: block; max-width: 100%; height: auto; }
a { color: var(--link, inherit); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.2em; }
a:hover { text-decoration-thickness: 2px; }
strong { font-weight: 600; }
button, input, select, textarea { font: inherit; color: inherit; }

.paper, .ink, .deep { background: var(--bg); color: var(--fg); }
.wrap { width: 100%; max-width: var(--max); margin-inline: auto; padding-inline: var(--gutter); }
.band { padding-block: var(--section-y); }
.band--ruled > .wrap::before { content: ""; display: block; border-top: 1px solid var(--line); margin-bottom: var(--section-y); }
.band--ruled { padding-top: 0; }

/* ---- Focus: a ring that shows on ink and on paper ---- */
:focus-visible { outline: 2px solid var(--focus, #282858); outline-offset: 3px; border-radius: 2px; }
.paper :focus-visible { box-shadow: 0 0 0 6px rgb(254 219 113 / 0.6); }

/* ---- Skip link: in the flow, shown only when it has the keyboard ---- */
.skip { display: block; height: 0; overflow: hidden; background: var(--signal); color: var(--ink-900); font-weight: 500; text-align: center; }
.skip:focus { height: auto; padding: 0.75rem 1rem; outline-offset: -4px; outline-color: var(--ink-900); }

/* ---- Type ---- */
.h1, .h2, .h3 {
  font-family: var(--font-serif);
  font-variation-settings: "WONK" 0, "SOFT" 0;
  font-weight: 380;
  text-wrap: balance;
}
.h1 { font-size: var(--step-4); line-height: 1.12; letter-spacing: -0.012em; max-width: 15em; }
.h1:lang(en) { font-size: clamp(2.25rem, 1.2rem + 4.8vw, 4.5rem); line-height: 1.04; letter-spacing: -0.026em; max-width: 13em; font-weight: 340; }
.h2 { font-size: var(--step-3); line-height: 1.16; letter-spacing: -0.01em; max-width: 18em; }
.h2:lang(en) { letter-spacing: -0.02em; line-height: 1.1; }
.h3 { font-size: var(--step-2); line-height: 1.25; font-weight: 420; }
.lede { font-size: var(--step-1); line-height: 1.6; max-width: var(--measure); }
.small { font-size: var(--step--1); line-height: 1.55; }
.muted { color: var(--fg-muted); }
.measure { max-width: var(--measure); }
.flow > * + * { margin-top: 1rem; }
.num { font-variant-numeric: tabular-nums; white-space: nowrap; }
.nb { white-space: nowrap; }

/* The marker: the house highlighter, used once, on the zero in the example */
mark {
  color: inherit;
  background: linear-gradient(to bottom, transparent 0.18em, var(--signal) 0.18em, var(--signal) 1.25em, transparent 1.25em);
  padding-inline: 0.3em;
  margin-inline: -0.3em;
  border-radius: 0.12em;
}

/* ---- The button: a fill that sweeps in from the left; with reduced motion it fades, same timing ---- */
.btn {
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.25rem;
  padding: 0.75rem 1.5rem;
  border: 0;
  border-radius: var(--radius);
  background: var(--signal);
  color: var(--ink-900);
  font-size: 1rem;
  font-weight: 560;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  overflow: hidden;
}
.btn::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--paper);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform var(--dur) var(--ease-out);
}
.btn:hover::before, .btn:focus-visible::before { transform: scaleX(1); }
.btn--small { min-height: 2.75rem; padding: 0.5rem 1rem; font-size: 0.925rem; }
.btn[aria-disabled="true"] { cursor: progress; opacity: 0.75; }
@media (prefers-reduced-motion: reduce) {
  .btn::before { transform: none; opacity: 0; transition: opacity var(--dur) var(--ease-out); }
  .btn:hover::before, .btn:focus-visible::before { transform: none; opacity: 1; }
}

/* ---- Header: plain, in the flow, never sticky ---- */
.top { padding-block: 0.75rem; }
.top__row { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem 1rem; flex-wrap: wrap; }
.brand { display: inline-flex; align-items: center; gap: 0.625rem; min-height: 2.75rem; color: var(--fg); text-decoration: none; font-family: var(--font-serif); font-size: 1.3rem; font-weight: 440; font-variation-settings: "WONK" 0, "SOFT" 0; }
.brand img { width: 2.125rem; height: 2.125rem; border-radius: 0.4rem; box-shadow: 0 0 0 1px var(--line-strong); }
.top__nav { display: flex; align-items: center; gap: 0.5rem 1.25rem; }
.top__lang { display: inline-flex; align-items: center; min-height: 2.75rem; padding-inline: 0.25rem; color: var(--mist-hi); font-size: var(--step--1); }
.top .btn--small { display: none; }
@media (min-width: 46em) { .top .btn--small { display: inline-flex; } }

/* ---- Opening ---- */
.hero { padding-block: clamp(2.25rem, 1rem + 6vw, 6rem) clamp(3rem, 1.5rem + 7vw, 7rem); }
.status {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  color: var(--mist-hi);
  font-size: var(--step--1);
  font-weight: 500;
  line-height: 1.4;
}
/* A hollow ring: not a "live" dot */
.status::before { content: ""; flex: none; width: 0.7em; height: 0.7em; border: 2px solid var(--signal); border-radius: 50%; }
.hero .h1 { margin-top: clamp(1.25rem, 0.75rem + 2vw, 2.25rem); }
.hero__body { margin-top: clamp(1.5rem, 1rem + 2.4vw, 3rem); display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(1.5rem, 1rem + 2vw, 2.5rem); }
.hero__text { color: var(--paper); font-size: var(--step-1); line-height: 1.62; max-width: 39rem; }
.hero__text p + p { margin-top: 0.75rem; }
.hero__text .quiet { color: var(--mist-hi); }
@media (min-width: 60em) {
  .hero__body { grid-template-columns: minmax(0, 39rem); justify-content: start; }
}

/* ---- The rule, with the example beside it ---- */
.rule { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(2rem, 1rem + 4vw, 4rem); }
.rule__text > * + * { margin-top: 1.25rem; }
.rule__text .lede { color: var(--fg); }
.source { font-size: var(--step--1); color: var(--fg-muted); max-width: var(--measure); }
@media (min-width: 64em) {
  .rule { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); align-items: start; }
}

.sample { background: var(--paper-0); border: 1px solid var(--line-strong); border-radius: var(--radius); padding: 1.25rem clamp(1rem, 0.5rem + 2vw, 1.75rem) 1.25rem; }
.sample figcaption { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.375rem 0.75rem; font-size: var(--step--1); color: var(--fg-muted); line-height: 1.45; }
.sample__tag { background: var(--ink-900); color: var(--paper); font-weight: 560; padding: 0.15rem 0.6rem; border-radius: 999px; }
.sample table { width: 100%; margin-top: 1rem; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.sample th, .sample td { padding: 0.75rem 0.75rem 0.75rem 0; text-align: left; vertical-align: top; border-top: 1px solid var(--line); font-weight: 400; }
.sample th:last-child, .sample td:last-child { padding-right: 0; }
.sample thead th { border-top: 0; padding-block: 0 0.5rem; font-size: var(--step--1); color: var(--fg-muted); font-weight: 500; }
.sample tbody th { font-weight: 500; }
.sample td:nth-child(2) { white-space: nowrap; }
.sample__what { display: block; font-size: var(--step--1); color: var(--fg-muted); }
.sample .is-zero .sample__what { color: var(--fg); font-weight: 560; }
.sample__due { display: none; }
/* Narrow screens: each month becomes a block (month and income on one line, the deadline under them).
   The table roles in the HTML keep it a table for assistive technology. */
@media (max-width: 34em) {
  .sample thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .sample table, .sample tbody { display: block; }
  .sample tbody tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.2rem 1rem; padding-block: 0.8rem; border-top: 1px solid var(--line); }
  .sample tbody th, .sample tbody td { display: block; padding: 0; border: 0; }
  .sample tbody td:nth-child(2) { padding-right: 0.3em; }
  .sample tbody td:nth-child(3) { grid-column: 1 / -1; }
  .sample__due { display: inline; color: var(--fg-muted); }
  .sample__what { margin-top: 0.1rem; }
}
.sample__foot { margin-top: 0.75rem; padding-top: 0.875rem; border-top: 1px solid var(--line); font-size: var(--step--1); color: var(--fg-muted); }

/* ---- The planned packages: dashed outlines, no button ---- */
.sec-head > * + * { margin-top: 1rem; }
.plans { margin-top: clamp(2rem, 1.25rem + 2.5vw, 3.5rem); display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--gap); }
.plan { display: flex; flex-direction: column; gap: 0.75rem; padding: clamp(1.25rem, 1rem + 1vw, 1.75rem); border: 1.5px dashed var(--line-strong); border-radius: var(--radius); }
.plan__price { font-family: var(--font-serif); font-variation-settings: "WONK" 0, "SOFT" 0; font-size: var(--step-1); font-weight: 400; line-height: 1.3; }
.plan__price .num { font-size: var(--step-3); font-weight: 360; letter-spacing: -0.01em; margin-right: 0.15em; }
.plan__price--open { font-size: var(--step-2); padding-block: 0.3em; }
.plan__state { margin-top: auto; padding-top: 0.875rem; border-top: 1.5px dashed var(--line); font-size: var(--step--1); color: var(--signal-deep); font-weight: 560; }
.plan--access { background: var(--paper-2); }
.plan__text { max-width: 42rem; }
.plan > * { min-width: 0; }
.plan .h3 { font-size: clamp(1.2rem, 1.05rem + 0.45vw, 1.45rem); }   /* „ბუღალტრებისთვის“ must fit one line of a card */
@media (min-width: 68em) {
  .plans { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .plan--access { grid-column: 1 / -1; }
  @supports (grid-template-rows: subgrid) {
    .plan:not(.plan--access) { display: grid; grid-template-rows: subgrid; grid-row: span 4; }
  }
}

/* ---- How it will work: a real sequence, so it is numbered ---- */
.steps { margin-top: clamp(2rem, 1.25rem + 2.5vw, 3.5rem); display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--gap); counter-reset: step; }
.step { counter-increment: step; padding-top: 1rem; border-top: 1px solid var(--line-strong); }
.step::before { content: counter(step); display: block; font-family: var(--font-serif); font-variation-settings: "WONK" 0, "SOFT" 0; font-size: var(--step-3); font-weight: 340; line-height: 1.1; color: var(--signal-deep); margin-bottom: 0.5rem; }
.step p { max-width: 30rem; }
.step p + p { margin-top: 0.6rem; }
@media (min-width: 56em) { .steps { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* ---- The form ---- */
.join { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(2rem, 1rem + 4vw, 4rem); }
.join__lead > * + * { margin-top: 1.25rem; }
.join__lead .lede { color: var(--paper); }
.join__lead .small { color: var(--mist-hi); max-width: var(--measure); }
@media (min-width: 60em) { .join { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); align-items: start; } }

.form { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.375rem; }
.field { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0.4rem; }
.field label, .field legend { font-weight: 500; }
.hint { font-size: var(--step--1); color: var(--mist-hi); line-height: 1.45; }
.opt { color: var(--mist); font-weight: 400; }
.input {
  width: 100%;
  min-height: 3.25rem;
  padding: 0.7rem 0.875rem;
  background: var(--paper-0);
  color: var(--text);
  border: 2px solid transparent;
  border-radius: var(--radius);
  font-size: max(1rem, 16px);
  line-height: 1.4;
  color-scheme: light;
}
textarea.input { min-height: 5.5rem; resize: vertical; }
.input::placeholder { color: var(--muted); opacity: 1; }
.input:focus-visible { outline: 3px solid var(--signal); outline-offset: 2px; border-color: var(--ink-600); }
.input[aria-invalid="true"] { border-color: var(--error-ink); }

/* Radios and ticks: the whole row is the target, at least 44 px high */
.choices { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0.25rem; margin-top: 0.4rem; }
.check { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 0.3rem 0.75rem; align-items: start; min-height: 2.75rem; padding: 0.55rem 0; cursor: pointer; line-height: 1.45; }
.check input { width: 1.375rem; height: 1.375rem; margin: 0.08rem 0 0; accent-color: var(--signal); color-scheme: light; flex: none; }
.check input:focus-visible { outline: 3px solid var(--signal); outline-offset: 3px; }
.check input[aria-invalid="true"] { outline: 2px solid var(--error-ink); outline-offset: 3px; }
.check a { color: var(--paper); }
.check__hint { grid-column: 2; cursor: auto; }   /* how to withdraw consent, said before the consent is given */
.form .btn { width: 100%; }
@media (min-width: 40em) {
  .form .btn { width: auto; justify-self: start; min-width: 16rem; }
  .choices--two { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1.25rem; }
}

/* The honeypot: off the page, out of the tab order, ignored by assistive tech */
.hp { position: absolute; left: -200vw; width: 1px; height: 1px; overflow: hidden; }

/* Messages: under the form, in the flow, never on top of anything */
/* A form the server refuses without JavaScript comes back to "#join-msg" with the sentence in place:
   the margin keeps the button and the fields above it in view. */
.form__msg { border-left: 3px solid var(--error-ink); padding: 0.25rem 0 0.25rem 0.875rem; color: var(--error-ink); font-weight: 500; scroll-margin-top: 55vh; }
.form__msg:empty { display: none; }
.form__msg a { color: inherit; }
.done { border: 1px solid var(--line-strong); border-left: 3px solid var(--signal); border-radius: var(--radius); padding: clamp(1.25rem, 1rem + 1vw, 2rem); }
.done > * + * { margin-top: 0.875rem; }
.done .h3 { font-size: var(--step-2); }
.done p { color: var(--mist-hi); }
.done:focus { outline: none; }
.is-in { animation: come-in var(--dur) var(--ease-out) both; }
@keyframes come-in { from { opacity: 0; translate: 0 8px; } }
@keyframes fade-in { from { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .is-in { animation-name: fade-in; } }

/* ---- Questions: all open, nothing hidden behind a tap ---- */
.faq { margin-top: clamp(2rem, 1.25rem + 2.5vw, 3.5rem); display: grid; grid-template-columns: minmax(0, 1fr); gap: 0 var(--gap); }
.faq__item { padding-block: 1.375rem; border-top: 1px solid var(--line); }
.faq__item h3 { font-family: var(--font-sans); font-size: var(--step-1); font-weight: 600; line-height: 1.35; }
.faq__item p { margin-top: 0.5rem; max-width: var(--measure); }
@media (min-width: 56em) { .faq { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---- Footer ---- */
.foot { padding-block: clamp(2.5rem, 2rem + 2vw, 4rem); font-size: var(--step--1); line-height: 1.6; }
.foot .wrap { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
.foot__co { color: var(--mist-hi); max-width: 46rem; }
.foot__co p + p { margin-top: 0.625rem; }
.foot__links { display: flex; flex-wrap: wrap; gap: 0 1.5rem; }
.foot__links a { display: inline-flex; align-items: center; min-height: 2.75rem; color: var(--paper); }
@media (min-width: 60em) { .foot .wrap { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); } .foot__links { justify-content: flex-end; align-content: start; } }
/* The counting box of js/track.js opens under the footer links: give it the full row */
.foot .nxm-set { grid-column: 1 / -1; }

/* ---- Text pages: privacy, thanks, not found ---- */
.page { padding-block: clamp(2.5rem, 1.5rem + 5vw, 6rem) var(--section-y); }
.page .h1 { font-size: min(var(--step-3), 7.4vw); max-width: 20em; }   /* „კონფიდენციალურობა“ stays one word on a 355 px screen at root 20 px */
.page .h1:lang(en) { font-size: clamp(2rem, 1.4rem + 2.4vw, 3.25rem); max-width: 16em; }
.page__date { margin-top: 0.75rem; color: var(--fg-muted); font-size: var(--step--1); }
.prose { margin-top: clamp(1.5rem, 1rem + 2vw, 2.5rem); max-width: 42rem; }
.prose > * + * { margin-top: 1rem; }
.prose h2 { font-family: var(--font-serif); font-variation-settings: "WONK" 0, "SOFT" 0; font-size: var(--step-2); font-weight: 420; line-height: 1.25; margin-top: clamp(2.25rem, 1.75rem + 2vw, 3.25rem); padding-top: 1.25rem; border-top: 1px solid var(--line); }
.prose ul { padding-left: 1.25rem; }
.prose li + li { margin-top: 0.5rem; }
.prose .btn { margin-top: 0.5rem; }
.btn--ink { background: var(--ink-900); color: var(--paper); }
.btn--ink::before { background: var(--ink-600); }
.nxt-settings { font-size: 1rem; }
.other-lang { margin-top: clamp(2.5rem, 2rem + 2vw, 4rem); padding-top: 1.5rem; border-top: 1px solid var(--line); }
.other-lang > * + * { margin-top: 0.75rem; }

@media print {
  .nxm, .top .btn, .skip { display: none !important; }
  .ink, .deep { background: #fff; color: #000; --fg: #000; --fg-muted: #333; }
}
