@charset "UTF-8";
/***** Normalize.css *****/
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

main {
  display: block;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

a {
  background-color: transparent;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

img {
  border-style: none;
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

details {
  display: block;
}

summary {
  display: list-item;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

/* ─── Axie sticker book design system ─── */
/* Tokens (CSS vars + SCSS vars for palette, fonts, shadows, breakpoints) */
/* ============================================================
   Axie Support — design tokens (twilight sticker book)
   ============================================================
   Single source of truth for palette + fonts. Used by every
   sticker component below.

   These tokens are deliberately NOT exposed as manifest settings
   for v1.0 — the design system is opinionated and we don't want
   admins changing the cream → pink to magenta-on-magenta. If a
   future admin needs to tweak brand color, we'll promote a token
   to manifest at that point.

   See ~/Projects/axie-support-design/ for the design source.
   ============================================================ */
:root {
  /* ── Twilight palette (footer + hero veil) ── */
  --axie-bg-dark: #181229;
  --axie-bg-dark-2: #231A38;
  --axie-bg-dark-3: #2E2244;
  /* ── Cream paper palette (every page body) ── */
  --axie-paper: #F4E8CC; /* page bg */
  --axie-paper-2: #FDF4DC; /* card / elevated surface */
  --axie-paper-3: #EADAB5; /* recessed / off-state */
  /* ── Ink (outlines + text) ── */
  --axie-ink: #1F1530; /* primary text + every outline (plum-ink) */
  --axie-ink-soft: #4D3D6B; /* secondary text */
  --axie-ink-dim: #7A6896; /* tertiary / muted */
  /* Near-black neutral for header text (nav links + brand tag). The plum `--axie-ink`
     reads "purple" against cream, and the old warm-grey (#2A2520) still felt tinted,
     so this is pushed to a true near-black with only a whisper of warmth. v1.0.14. */
  --axie-ink-nav: #1C1A17;
  /* Ink as an rgb channel triple — lets the recurring low-alpha ink decorations
     (dot-grids, dashed dividers, drop-shadows) flip with the theme. Keep this in
     sync with --axie-ink. Dark mode remaps it to the light triple (see _axie-dark). */
  --axie-ink-rgb: 31, 21, 48;
  /* ── Accent palette pulled from the cute Axie art ── */
  --axie-red: #FF5B45;
  --axie-red-deep: #C2381F;
  --axie-orange: #FF9345;
  --axie-yellow: #FFC85A;
  --axie-pink: #FF8FB1;
  --axie-pink-deep: #E25988;
  --axie-magenta: #D26AE5;
  --axie-lavender: #B79EF5;
  --axie-mint: #92E5BD;
  --axie-green: #6BD79A;
  --axie-sky: #A8E0FF;
  --axie-blue: #6BA8FF;
  /* ── Status palette (shared with auth pages) ── */
  --axie-status-pending: var(--axie-yellow);
  --axie-status-open: var(--axie-red); /* user-visible "needs eyes on it" */
  --axie-status-progress: var(--axie-sky);
  --axie-status-solved: var(--axie-mint);
  --axie-status-closed: var(--axie-ink-dim);
  /* ── Typography stacks ── */
  --axie-f-display: "Hubot Sans", system-ui, -apple-system, sans-serif;
  --axie-f-body: "Geist", system-ui, -apple-system, sans-serif;
  --axie-f-mono: "Geist Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
  /* ── Sticker geometry ── */
  --axie-radius-pill: 999px;
  --axie-radius-sm: 8px;
  --axie-radius-md: 12px;
  --axie-radius-lg: 16px;
  --axie-radius-xl: 18px;
  --axie-radius-2xl: 22px;
  --axie-radius-3xl: 28px;
  --axie-outline: 2.5px solid var(--axie-ink);
  --axie-outline-thin: 2px solid var(--axie-ink);
  --axie-outline-thick: 3px solid var(--axie-ink);
  /* Solid chunky sticker-shadow color. Tracks ink in light mode, but is its own
     token so dark mode can keep shadows DARK (depth) while ink/outlines go light
     (visible). See _axie-dark.scss. */
  --axie-shadow-col: var(--axie-ink);
}

/* ── Container widths ── */
/* article body, contact form */
/* home, category, requests */
/* topbar + footer */
/* ── Sticker shadow scale (chunky offset, no blur) ──
   Uses --axie-shadow-col (not --axie-ink directly) so dark mode can keep the
   offset dark for depth while text/outlines flip to light. */
/* ── Sticker hover lift (matched to base shadow size) ── */
/* ── Breakpoints ── */
/* Base mixins + body reset + sticker-card / sticker-button / sticker-chip / status-tag-base */
/* ============================================================
   Axie Support — base sticker recipes + global resets
   ============================================================
   Mixins for the recurring sticker patterns:
   - sticker-card($shadow, $radius)  → cream card with ink outline
   - sticker-button($bg, $shadow)    → ink-outlined button with punch-in
   - sticker-chip($bg, $shadow)      → small pill with ink outline
   - sticker-ribbon($color, $radius) → colored top-edge ribbon

   Plus base resets that override Copenhagen defaults.
   ============================================================ */
/* ─── Mixins ─── */
/* ─── Base resets — override Copenhagen ─── */
html {
  /* light dark — we ship a real dark theme (see _axie-dark.scss). Declaring dark
     support stops Chromium/Brave "auto dark" from algorithmically force-inverting
     the page into muddy off-brand colors. */
  color-scheme: light dark;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: var(--axie-f-body);
  font-size: 15px;
  line-height: 1.5;
  color: var(--axie-ink);
  background: var(--axie-paper);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  /* sticky-footer pattern — body fills viewport, footer is auto-pushed to bottom */
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

::selection {
  background: var(--axie-pink);
  color: var(--axie-ink);
}

/* ── Visited-link correction ──────────────────────────────────────────────
   Copenhagen's global `a:visited { color: #9358B0 }` (_base.scss)
   is specificity (0,1,1) — higher than our component color rules (0,1,0). So any
   nav link / sticker button the user has ALREADY clicked renders in the purple
   visited color, overriding both the nav ink and (in dark mode) the white CTA
   labels. These are navigation/action controls, not content links — pin :visited
   to each component's own color so it stays on-brand. `var(--axie-ink)` resolves
   to the re-pinned value per element (e.g. white on the dark-mode CTAs), so this
   works in light AND dark. Content links inside .axie-prose keep a visited style,
   just on-brand (pink) instead of the Copenhagen purple. */
.axie-nav-link:visited {
  color: var(--axie-ink-nav);
}

.axie-mobile-link:visited {
  color: var(--axie-ink);
}

.axie-nav-cta:visited,
.axie-nav-login:visited,
.axie-stuck-cta:visited,
.axie-btn:visited,
.axie-btn-primary:visited,
.axie-btn-mint:visited,
.axie-btn-pink:visited,
.axie-btn-ghost:visited,
.axie-chip:visited,
.axie-see-all-link:visited,
.axie-breadcrumb--auto ol.breadcrumbs li a:visited,
.axie-article-tags li a:visited {
  color: var(--axie-ink);
}

.axie-prose a:visited {
  color: var(--axie-pink-deep);
}

/* The main content slot (whatever wraps a page's body between header + footer) */
main,
.axie-main {
  flex: 1 0 auto;
}

/* ─── Generic sticker class for one-off use in templates ─── */
.axie-sticker {
  position: relative;
  background: var(--axie-paper-2);
  border: var(--axie-outline);
  border-radius: var(--axie-radius-xl);
  box-shadow: 5px 5px 0 var(--axie-shadow-col);
}

.axie-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  background: var(--axie-paper-2);
  color: var(--axie-ink);
  border: var(--axie-outline);
  border-radius: var(--axie-radius-md);
  box-shadow: 3px 3px 0 var(--axie-shadow-col);
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-variation-settings: "wdth" 95;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap; /* labels like "Submit a request" must never wrap to 2 lines */
  transition: transform 0.12s ease, box-shadow 0.12s ease, background 0.12s ease;
}
.axie-btn:hover {
  transform: translate(-1px, -1px);
  box-shadow: 4px 4px 0 var(--axie-shadow-col);
  color: var(--axie-ink);
}
.axie-btn:active {
  transform: translate(2px, 2px);
  box-shadow: 2px 2px 0 var(--axie-shadow-col);
}

.axie-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  background: var(--axie-red);
  color: var(--axie-ink);
  border: var(--axie-outline);
  border-radius: var(--axie-radius-md);
  box-shadow: 4px 4px 0 var(--axie-shadow-col);
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-variation-settings: "wdth" 95;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap; /* labels like "Submit a request" must never wrap to 2 lines */
  transition: transform 0.12s ease, box-shadow 0.12s ease, background 0.12s ease;
}
.axie-btn-primary:hover {
  transform: translate(-1px, -1px);
  box-shadow: 4px 4px 0 var(--axie-shadow-col);
  color: var(--axie-ink);
}
.axie-btn-primary:active {
  transform: translate(2px, 2px);
  box-shadow: 2px 2px 0 var(--axie-shadow-col);
}

.axie-btn-mint {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  background: var(--axie-mint);
  color: var(--axie-ink);
  border: var(--axie-outline);
  border-radius: var(--axie-radius-md);
  box-shadow: 3px 3px 0 var(--axie-shadow-col);
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-variation-settings: "wdth" 95;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap; /* labels like "Submit a request" must never wrap to 2 lines */
  transition: transform 0.12s ease, box-shadow 0.12s ease, background 0.12s ease;
}
.axie-btn-mint:hover {
  transform: translate(-1px, -1px);
  box-shadow: 4px 4px 0 var(--axie-shadow-col);
  color: var(--axie-ink);
}
.axie-btn-mint:active {
  transform: translate(2px, 2px);
  box-shadow: 2px 2px 0 var(--axie-shadow-col);
}

.axie-btn-pink {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  background: var(--axie-pink);
  color: var(--axie-ink);
  border: var(--axie-outline);
  border-radius: var(--axie-radius-md);
  box-shadow: 4px 4px 0 var(--axie-shadow-col);
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-variation-settings: "wdth" 95;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap; /* labels like "Submit a request" must never wrap to 2 lines */
  transition: transform 0.12s ease, box-shadow 0.12s ease, background 0.12s ease;
}
.axie-btn-pink:hover {
  transform: translate(-1px, -1px);
  box-shadow: 4px 4px 0 var(--axie-shadow-col);
  color: var(--axie-ink);
}
.axie-btn-pink:active {
  transform: translate(2px, 2px);
  box-shadow: 2px 2px 0 var(--axie-shadow-col);
}

.axie-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 11px;
  background: var(--axie-paper-2);
  color: var(--axie-ink);
  border: var(--axie-outline-thin);
  border-radius: var(--axie-radius-pill);
  box-shadow: 2px 2px 0 var(--axie-shadow-col);
  font-family: var(--axie-f-body);
  font-size: 12px;
  font-weight: 500;
}

/* ============================================================
   "Still stuck? We got you!" — shared support card
   Appears at the bottom of: home, category, section, article,
   request-detail. Pink sticker with chatting Axies + CTA.
   ============================================================ */
/* Stuck section — softer integration with the section above (v1.0.5).
   Was: 8px chunky shadow + 16px secondary shadow + pink ribbon + rotation.
   Now: 3px subtle shadow, no ribbon, no rotation. Feels like an in-section
   callout that flows from the page rather than a separately-pasted card. */
.axie-stuck {
  background: var(--axie-paper);
  padding: 8px 32px 80px;
  background-image: radial-gradient(rgba(var(--axie-ink-rgb), 0.04) 1px, transparent 1px);
  background-size: 22px 22px;
}
@media (max-width: 720px) {
  .axie-stuck {
    padding: 4px 24px 60px;
  }
}

.axie-stuck-inner {
  /* Snug width + centered cluster so the art + copy read as one balanced unit
     instead of hugging the left of a full-bleed band with dead space on the
     right. art (260) + gap (40) + copy (≤440) = 740 content, centered in ~792
     inner. v1.0.14. */
  max-width: 880px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 260px minmax(0, 440px);
  justify-content: center;
  gap: 40px;
  align-items: center;
  background: var(--axie-paper-2);
  border: var(--axie-outline-thin);
  border-radius: var(--axie-radius-xl);
  padding: 32px 44px;
  position: relative;
  box-shadow: 3px 3px 0 var(--axie-shadow-col);
  /* No pink ribbon, no chunky stacked shadow, no rotation — flows from the
     section above instead of competing with it. */
}
@media (max-width: 720px) {
  .axie-stuck-inner {
    grid-template-columns: 1fr;
    padding: 24px 22px;
    gap: 20px;
    text-align: center;
  }
}

.axie-stuck-art {
  width: 100%;
  max-width: 260px;
  margin: 0 auto;
  display: block;
  filter: drop-shadow(2px 3px 0 rgba(var(--axie-ink-rgb), 0.18));
  position: relative;
  z-index: 2;
  animation: axieStuckFloat 6s ease-in-out infinite;
}

@keyframes axieStuckFloat {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-5px);
  }
}
.axie-stuck-text {
  position: relative;
  z-index: 2;
}
.axie-stuck-text h4 {
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: clamp(22px, 2.8vw, 32px);
  text-transform: uppercase;
  letter-spacing: -0.015em;
  line-height: 1.05;
  color: var(--axie-ink);
  margin: 0 0 10px;
  font-variation-settings: "wdth" 95;
}
.axie-stuck-text p {
  font-family: var(--axie-f-body);
  font-size: 15px;
  font-weight: 500;
  color: var(--axie-ink-soft);
  line-height: 1.55;
  margin: 0 0 18px;
  max-width: 52ch;
}

.axie-stuck-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 24px;
  background: var(--axie-pink);
  color: var(--axie-ink);
  border: var(--axie-outline-thick);
  border-radius: var(--axie-radius-lg);
  box-shadow: 4px 4px 0 var(--axie-shadow-col);
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  text-decoration: none;
  font-variation-settings: "wdth" 95;
  transition: transform 0.12s ease, box-shadow 0.12s ease;
}
.axie-stuck-cta:hover {
  transform: translate(-2px, -2px);
  box-shadow: 6px 6px 0 var(--axie-shadow-col);
  color: var(--axie-ink);
}
.axie-stuck-cta:active {
  transform: translate(2px, 2px);
  box-shadow: 2px 2px 0 var(--axie-shadow-col);
}

/* ─── Visually hidden (a11y) ─── */
.axie-visibility-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* ─── Section heading rule (dashed underline) used on home + auth pages ─── */
.axie-sec-rule {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  margin: 0 0 22px;
  padding-bottom: 14px;
  border-bottom: 2px dashed rgba(var(--axie-ink-rgb), 0.22);
}
.axie-sec-rule h2 {
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: clamp(26px, 3vw, 36px);
  text-transform: uppercase;
  letter-spacing: -0.015em;
  line-height: 1;
  color: var(--axie-ink);
  margin: 0;
  font-variation-settings: "wdth" 95;
}
.axie-sec-rule .sub,
.axie-sec-rule .meta {
  font-family: var(--axie-f-mono);
  font-size: 11px;
  font-weight: 500;
  color: var(--axie-ink-soft);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/***** Base *****/
* {
  box-sizing: border-box;
}

body {
  background-color: #FFFFFF;
  color: #2F3941;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
@media (min-width: 1024px) {
  body > main {
    min-height: 65vh;
  }
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  margin-top: 0;
}

h1 {
  font-size: 32px;
}

h2 {
  font-size: 22px;
}

h3 {
  font-size: 18px;
  font-weight: 600;
}

h4 {
  font-size: 16px;
}

a {
  color: #1F73B7;
  text-decoration: none;
}
a:visited {
  color: #9358B0;
}
a:hover, a:active, a:focus {
  text-decoration: underline;
}

.hbs-form input,
.hbs-form textarea, .search input,
.search textarea {
  color: #000;
  font-size: 14px;
}
.hbs-form input, .search input {
  max-width: 100%;
  box-sizing: border-box;
  transition: border 0.12s ease-in-out;
  /* We use the :where selector to not increase the specificity of the selector */
}
.hbs-form input:where(:not([type=checkbox])), .search input:where(:not([type=checkbox])) {
  outline: none;
}
.hbs-form input:where(:not([type=checkbox])):focus, .search input:where(:not([type=checkbox])):focus {
  border: 1px solid #17494D;
}
.hbs-form input[disabled], .search input[disabled] {
  background-color: #ddd;
}
.hbs-form select, .search select {
  -webkit-appearance: none;
  -moz-appearance: none;
  background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23CCC' d='M0 0h10L5 6 0 0z'/%3E%3C/svg%3E%0A") no-repeat #fff;
  background-position: right 10px center;
  border: 1px solid #848F99;
  border-radius: 4px;
  padding: 8px 30px 8px 10px;
  outline: none;
  color: #555;
  width: 100%;
}
.hbs-form select:focus, .search select:focus {
  border: 1px solid #17494D;
}
.hbs-form select::-ms-expand, .search select::-ms-expand {
  display: none;
}
.hbs-form textarea, .search textarea {
  border: 1px solid #848F99;
  border-radius: 2px;
  resize: vertical;
  width: 100%;
  outline: none;
  padding: 10px;
}
.hbs-form textarea:focus, .search textarea:focus {
  border: 1px solid #17494D;
}

.container {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 5%;
}
@media (min-width: 1160px) {
  .container {
    padding: 0;
    width: 90%;
  }
}

.container-divider {
  border-top: 1px solid #ddd;
  margin-bottom: 20px;
}

ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.error-page {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 5%;
}
@media (min-width: 1160px) {
  .error-page {
    padding: 0;
    width: 90%;
  }
}

.visibility-hidden {
  border: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
}

/***** Buttons *****/
.button, .pagination-next-link, .pagination-prev-link, .pagination-first-link, .pagination-last-link, .subscriptions-subscribe button, .requests-table-toolbar .organization-subscribe button, .community-follow button, .section-subscribe button, .split-button button {
  background-color: transparent;
  border: 1px solid #17494D;
  border-radius: 4px;
  color: #17494D;
  cursor: pointer;
  display: inline-block;
  font-size: 12px;
  line-height: 2.34;
  margin: 0;
  padding: 0 20px;
  text-align: center;
  transition: background-color 0.12s ease-in-out, border-color 0.12s ease-in-out, color 0.15s ease-in-out;
  user-select: none;
  white-space: nowrap;
  width: 100%;
  -webkit-touch-callout: none;
}
@media (min-width: 768px) {
  .button, .pagination-next-link, .pagination-prev-link, .pagination-first-link, .pagination-last-link, .subscriptions-subscribe button, .requests-table-toolbar .organization-subscribe button, .community-follow button, .section-subscribe button, .split-button button {
    width: auto;
  }
}
.button:visited, .pagination-next-link:visited, .pagination-prev-link:visited, .pagination-first-link:visited, .pagination-last-link:visited, .subscriptions-subscribe button:visited, .requests-table-toolbar .organization-subscribe button:visited, .community-follow button:visited, .section-subscribe button:visited, .split-button button:visited {
  color: #17494D;
}
.button:hover, .pagination-next-link:hover, .pagination-prev-link:hover, .pagination-first-link:hover, .pagination-last-link:hover, .subscriptions-subscribe button:hover, .requests-table-toolbar .organization-subscribe button:hover, .community-follow button:hover, .section-subscribe button:hover, .split-button button:hover, .button:active, .pagination-next-link:active, .pagination-prev-link:active, .pagination-first-link:active, .pagination-last-link:active, .subscriptions-subscribe button:active, .requests-table-toolbar .organization-subscribe button:active, .community-follow button:active, .section-subscribe button:active, .split-button button:active, .button:focus, .pagination-next-link:focus, .pagination-prev-link:focus, .pagination-first-link:focus, .pagination-last-link:focus, .subscriptions-subscribe button:focus, .requests-table-toolbar .organization-subscribe button:focus, .community-follow button:focus, .section-subscribe button:focus, .split-button button:focus, .button.button-primary, .button-primary.pagination-next-link, .button-primary.pagination-prev-link, .button-primary.pagination-first-link, .button-primary.pagination-last-link, .subscriptions-subscribe button.button-primary, .subscriptions-subscribe button[data-selected=true], .requests-table-toolbar .organization-subscribe button.button-primary, .requests-table-toolbar .organization-subscribe button[data-selected=true], .community-follow button.button-primary, .section-subscribe button.button-primary, .section-subscribe button[data-selected=true], .split-button button.button-primary {
  background-color: #17494D;
  color: #FFFFFF;
  text-decoration: none;
}
.button.button-primary:hover, .button-primary.pagination-next-link:hover, .button-primary.pagination-prev-link:hover, .button-primary.pagination-first-link:hover, .button-primary.pagination-last-link:hover, .subscriptions-subscribe button.button-primary:hover, .subscriptions-subscribe button[data-selected=true]:hover, .requests-table-toolbar .organization-subscribe button.button-primary:hover, .requests-table-toolbar .organization-subscribe button[data-selected=true]:hover, .community-follow button.button-primary:hover, .section-subscribe button.button-primary:hover, .section-subscribe button[data-selected=true]:hover, .split-button button:hover, .button.button-primary:focus, .button-primary.pagination-next-link:focus, .button-primary.pagination-prev-link:focus, .button-primary.pagination-first-link:focus, .button-primary.pagination-last-link:focus, .subscriptions-subscribe button.button-primary:focus, .subscriptions-subscribe button[data-selected=true]:focus, .requests-table-toolbar .organization-subscribe button.button-primary:focus, .requests-table-toolbar .organization-subscribe button[data-selected=true]:focus, .community-follow button.button-primary:focus, .section-subscribe button.button-primary:focus, .section-subscribe button[data-selected=true]:focus, .split-button button.button-primary:focus, .button.button-primary:active, .button-primary.pagination-next-link:active, .button-primary.pagination-prev-link:active, .button-primary.pagination-first-link:active, .button-primary.pagination-last-link:active, .subscriptions-subscribe button.button-primary:active, .subscriptions-subscribe button[data-selected=true]:active, .requests-table-toolbar .organization-subscribe button.button-primary:active, .requests-table-toolbar .organization-subscribe button[data-selected=true]:active, .community-follow button.button-primary:active, .section-subscribe button.button-primary:active, .section-subscribe button[data-selected=true]:active, .split-button button.button-primary:active {
  background-color: #000;
  border-color: #000;
}
.button[data-disabled], [data-disabled].pagination-next-link, [data-disabled].pagination-prev-link, [data-disabled].pagination-first-link, [data-disabled].pagination-last-link, .subscriptions-subscribe button[data-disabled], .requests-table-toolbar .organization-subscribe button[data-disabled], .community-follow button[data-disabled], .section-subscribe button[data-disabled], .split-button button[data-disabled] {
  cursor: default;
}

.button-large, .hbs-form input[type=submit] {
  cursor: pointer;
  background-color: #17494D;
  border: 0;
  border-radius: 4px;
  color: #FFFFFF;
  font-size: 14px;
  line-height: 2.72;
  min-width: 190px;
  padding: 0 1.9286em;
  width: 100%;
}
@media (min-width: 768px) {
  .button-large, .hbs-form input[type=submit] {
    width: auto;
  }
}
.button-large:visited, .hbs-form input[type=submit]:visited {
  color: #FFFFFF;
}
.button-large:hover, .button-large:active, .button-large:focus, .hbs-form input[type=submit]:hover, .hbs-form input[type=submit]:active, .hbs-form input[type=submit]:focus {
  background-color: #000;
}
.button-large[disabled], .hbs-form input[type=submit][disabled] {
  background-color: #ddd;
}

.button-secondary {
  color: #5a6d7c;
  border: 1px solid #848F99;
  background-color: transparent;
}
.button-secondary:visited {
  color: #5a6d7c;
}
.button-secondary:hover, .button-secondary:focus, .button-secondary:active {
  color: #2F3941;
  border: 1px solid #848F99;
  background-color: #f7f7f7;
}

/***** Split button *****/
.split-button {
  display: flex;
}

.split-button button {
  background-color: #17494D;
  border: 0;
  color: #FFFFFF;
  height: 32px;
  line-height: 16px;
  outline-color: #17494D;
}

[dir=rtl] .split-button button:not(:only-child):first-child {
  border-left: 1px solid #FFFFFF;
  border-top-left-radius: unset;
  border-bottom-left-radius: unset;
}
[dir=ltr] .split-button button:not(:only-child):first-child {
  border-right: 1px solid #FFFFFF;
  border-top-right-radius: unset;
  border-bottom-right-radius: unset;
}
.split-button button:not(:only-child):last-child {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 26px;
  min-width: 26px;
  max-width: 26px;
  padding: 0;
}
[dir=rtl] .split-button button:not(:only-child):last-child {
  border-top-right-radius: unset;
  border-bottom-right-radius: unset;
}
[dir=ltr] .split-button button:not(:only-child):last-child {
  border-top-left-radius: unset;
  border-bottom-left-radius: unset;
}

/***** Tables *****/
.table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  border-spacing: 0;
}
@media (min-width: 768px) {
  .table {
    table-layout: auto;
  }
}
.table th,
.table th a {
  color: #5a6d7c;
  font-size: 13px;
  text-align: left;
}
[dir=rtl] .table th,
[dir=rtl] .table th a {
  text-align: right;
}
.table tr {
  border-bottom: 1px solid #ddd;
  display: block;
  padding: 20px 0;
}
@media (min-width: 768px) {
  .table tr {
    display: table-row;
  }
}
.table td {
  display: block;
}
@media (min-width: 768px) {
  .table td {
    display: table-cell;
  }
}
@media (min-width: 1024px) {
  .table td, .table th {
    padding: 20px 30px;
  }
}
@media (min-width: 768px) {
  .table td, .table th {
    padding: 10px 20px;
    height: 60px;
  }
}

/***** Forms *****/
.form {
  max-width: 650px;
}

.form-field ~ .form-field {
  margin-top: 25px;
}

.form-field label {
  display: block;
  font-size: 13px;
  margin-bottom: 5px;
}

.form-field input {
  border: 1px solid #848F99;
  border-radius: 4px;
  padding: 10px;
  width: 100%;
}
.form-field input:focus {
  border: 1px solid #17494D;
}

.form-field input[type=text] {
  border: 1px solid #848F99;
  border-radius: 4px;
}
.form-field input[type=text]:focus {
  border: 1px solid #17494D;
}

.form-field input[type=checkbox] {
  width: auto;
}

.form-field .nesty-input {
  border-radius: 4px;
  border: 1px solid #848F99;
  height: 40px;
  line-height: 40px;
  outline: none;
  vertical-align: middle;
}
.form-field .nesty-input:focus {
  border: 1px solid #17494D;
  text-decoration: none;
}

.form-field .hc-multiselect-toggle {
  border: 1px solid #848F99;
}

.form-field .hc-multiselect-toggle:focus {
  outline: none;
  border: 1px solid #17494D;
  text-decoration: none;
}

.form-field textarea {
  vertical-align: middle;
}

.form-field input[type=checkbox] + label {
  margin: 0 0 0 10px;
}

.form-field .optional {
  color: #5a6d7c;
  margin-left: 4px;
}

.form-field p {
  color: #5a6d7c;
  font-size: 12px;
  margin: 5px 0;
}

.form footer {
  margin-top: 40px;
  padding-top: 30px;
}

.form footer a {
  color: #5a6d7c;
  cursor: pointer;
  margin-right: 15px;
}

.form .suggestion-list {
  font-size: 13px;
  margin-top: 30px;
}
.form .suggestion-list label {
  border-bottom: 1px solid #ddd;
  display: block;
  padding-bottom: 5px;
}
.form .suggestion-list li {
  padding: 10px 0;
}
.form .suggestion-list li a:visited {
  color: #9358B0;
}

/* ============================================================
   Axie Support — form host wrapper for the React new-request-form
   ============================================================
   The React form (Zendesk Garden components) renders inside
   .axie-form-host. We do NOT override Garden's internal styling
   — just provide the sticker frame around it.

   For our hand-rolled sticker form controls (used elsewhere), see
   .axie-input / .axie-textarea / .axie-select below.
   ============================================================ */
.axie-form-host {
  position: relative;
  background: var(--axie-paper-2);
  border: var(--axie-outline);
  border-radius: var(--axie-radius-2xl);
  box-shadow: 6px 6px 0 var(--axie-shadow-col);
  padding: 44px 32px 32px;
  margin-bottom: 24px;
  /* Mint ribbon at top */
}
@media (max-width: 720px) {
  .axie-form-host {
    padding: 40px 22px 24px;
  }
}
.axie-form-host::before {
  content: "";
  position: absolute;
  top: -2.5px;
  left: -2.5px;
  right: -2.5px;
  height: 16px;
  background: var(--axie-mint);
  border: var(--axie-outline);
  border-bottom: 0;
  border-top-left-radius: var(--axie-radius-2xl);
  border-top-right-radius: var(--axie-radius-2xl);
  z-index: 1;
}

/* Garden labels — make them match our display-font label style without
   touching the input/select chrome (per PayMoji rule). */
.axie-form-host label,
.axie-form-host [class*=StyledLabel],
.axie-form-host [class*=StyledFieldsetLegend] {
  font-family: var(--axie-f-display) !important;
  font-weight: 900 !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: var(--axie-ink) !important;
  font-variation-settings: "wdth" 95;
}

/* Submit button — Garden renders a styled button. Override to sticker red. */
.axie-form-host button[type=submit] {
  background: var(--axie-red) !important;
  color: var(--axie-ink) !important;
  border: var(--axie-outline-thick) !important;
  border-radius: var(--axie-radius-md) !important;
  box-shadow: 4px 4px 0 var(--axie-shadow-col) !important;
  padding: 12px 24px !important;
  font-family: var(--axie-f-display) !important;
  font-weight: 900 !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  font-variation-settings: "wdth" 95;
  transition: transform 0.12s ease, box-shadow 0.12s ease !important;
}
.axie-form-host button[type=submit]:hover {
  transform: translate(-1px, -1px) !important;
  box-shadow: 5px 5px 0 var(--axie-shadow-col) !important;
}
.axie-form-host button[type=submit]:active {
  transform: translate(2px, 2px) !important;
  box-shadow: 2px 2px 0 var(--axie-shadow-col) !important;
}

/* ─── Hand-rolled sticker form controls (used by contact-details page, etc.) ─── */
.axie-input,
.axie-select,
.axie-textarea {
  width: 100%;
  padding: 12px 16px;
  background: var(--axie-paper);
  border: var(--axie-outline);
  border-radius: var(--axie-radius-md);
  box-shadow: 3px 3px 0 var(--axie-shadow-col);
  font-family: var(--axie-f-body);
  font-size: 15px;
  font-weight: 500;
  color: var(--axie-ink);
  outline: none;
  transition: transform 0.12s ease, box-shadow 0.12s ease, background 0.12s ease;
}
.axie-input::placeholder,
.axie-select::placeholder,
.axie-textarea::placeholder {
  color: var(--axie-ink-dim);
}
.axie-input:focus,
.axie-select:focus,
.axie-textarea:focus {
  transform: translate(-1px, -1px);
  box-shadow: 4px 4px 0 var(--axie-shadow-col), 0 0 0 4px rgba(255, 143, 177, 0.3);
  background: var(--axie-paper-2);
}

.axie-input.mono,
.axie-textarea.mono {
  font-family: var(--axie-f-mono);
  font-size: 14px;
}

.axie-textarea {
  min-height: 140px;
  resize: vertical;
  line-height: 1.55;
}

.axie-select {
  appearance: none;
  padding: 14px 44px 14px 18px;
  font-family: var(--axie-f-display);
  font-weight: 700;
  cursor: pointer;
  background-image: linear-gradient(45deg, transparent 50%, var(--axie-ink) 50%), linear-gradient(135deg, var(--axie-ink) 50%, transparent 50%);
  background-position: calc(100% - 24px) calc(50% - 3px), calc(100% - 18px) calc(50% - 3px);
  background-size: 7px 7px, 7px 7px;
  background-repeat: no-repeat;
}

/* Sticker file dropzone */
.axie-dropzone {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 28px 24px;
  background: var(--axie-paper);
  border: 3px dashed var(--axie-ink);
  border-radius: var(--axie-radius-lg);
  cursor: pointer;
  text-align: center;
  transition: background 0.15s ease, transform 0.15s ease;
}
.axie-dropzone:hover {
  background: var(--axie-mint);
  transform: translateY(-2px);
}
.axie-dropzone .dropzone-ic {
  width: 44px;
  height: 44px;
  background: var(--axie-paper-2);
  border: var(--axie-outline);
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: var(--axie-ink);
  box-shadow: 2px 2px 0 var(--axie-shadow-col);
  margin-bottom: 4px;
}
.axie-dropzone .dropzone-ic svg {
  width: 22px;
  height: 22px;
}
.axie-dropzone .dropzone-t {
  font-family: var(--axie-f-display);
  font-weight: 700;
  font-size: 14px;
  color: var(--axie-ink);
  font-variation-settings: "wdth" 95;
}
.axie-dropzone .dropzone-t b {
  font-weight: 900;
  color: var(--axie-pink-deep);
}
.axie-dropzone .dropzone-sub {
  font-family: var(--axie-f-mono);
  font-size: 11px;
  font-weight: 500;
  color: var(--axie-ink-soft);
  letter-spacing: 0.04em;
}

/* Hide Copenhagen's legacy form wrapper */
.form:not(.axie-form-host) > h1:first-child,
div.form {
  background: none;
  padding: 0;
}

/* ============================================================
   Axie Support — Topbar (header.hbs)
   ============================================================
   Sticker cream topbar with sliding-underline nav links,
   signed-in user pill + dropdown, signed-out Log in button.
   Mobile collapses nav into a hamburger-toggled drop-panel.

   The body's flex-column + sticky-footer pattern (in _axie-base)
   pushes the footer to bottom regardless of how short content is.
   ============================================================ */
/* ─── Skip link (accessibility — hidden until focused) ─── */
.skip-navigation {
  position: absolute;
  left: -10000px;
  top: 0;
  z-index: 200;
  padding: 8px 14px;
  background: var(--axie-ink);
  color: var(--axie-paper-2);
  font-family: var(--axie-f-body);
  font-weight: 600;
  font-size: 13px;
  text-decoration: none;
  border-radius: 0 0 var(--axie-radius-sm) var(--axie-radius-sm);
}
.skip-navigation:focus {
  left: 16px;
  top: 0;
  outline: 2.5px solid var(--axie-ink);
  outline-offset: 2px;
}

/* ─── Topbar shell ─── */
.axie-topbar {
  position: sticky;
  top: 0;
  z-index: 50;
  background: var(--axie-paper);
  border-bottom: var(--axie-outline-thick);
  box-shadow: 0 4px 0 rgba(var(--axie-ink-rgb), 0.06);
}

.axie-topbar-inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 14px 32px;
  display: flex;
  align-items: center;
  gap: 20px;
}
@media (max-width: 720px) {
  .axie-topbar-inner {
    padding: 14px 20px;
    gap: 14px;
  }
}

/* ─── Brand ─── */
.axie-brand {
  /* Equal-weight left column. Paired with `.axie-topbar-right { flex: 1 }`, the
     two side columns balance so `.axie-topbar-nav` sits dead-center on the PAGE
     (not merely centered in the unequal gap between brand + right cluster, which
     pulled it visibly left). On mobile it also pushes the hamburger to the edge. */
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 14px;
  text-decoration: none;
  color: var(--axie-ink);
}
.axie-brand:hover {
  color: var(--axie-ink);
}

.axie-brand-logo {
  height: 44px;
  width: auto;
  display: block;
  filter: drop-shadow(1px 2px 0 rgba(var(--axie-ink-rgb), 0.15));
}
@media (max-width: 720px) {
  .axie-brand-logo {
    height: 36px;
  }
}

/* Sky Mavis co-brand logo — sits after the Axie mark with a divider, replacing
   the old "SKY MAVIS" text tag. Kept smaller than the Axie logo so Axie reads as
   primary. Hidden on mobile (matches the old tag's behavior, keeps the bar tidy). */
.axie-brand-logo-sky {
  height: 34px;
  width: auto;
  display: block;
  padding-left: 14px;
  border-left: var(--axie-outline-thin);
}
@media (max-width: 720px) {
  .axie-brand-logo-sky {
    display: none;
  }
}

.axie-brand-tag {
  padding-left: 14px;
  border-left: var(--axie-outline-thin);
  font-family: var(--axie-f-mono);
  font-size: 11px;
  font-weight: 600;
  /* Near-black, not the plum `--axie-ink-soft` which read as purple. */
  color: var(--axie-ink-nav);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  white-space: nowrap;
}
@media (max-width: 720px) {
  .axie-brand-tag {
    display: none;
  }
}

/* ─── Nav links (Home / Knowledge Base / Service Status) ─── */
.axie-topbar-nav {
  /* Content-sized (NOT flex:1) so the equal-weight brand + right columns
     center it on the page. v1.0.14. */
  flex: 0 1 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
}
@media (max-width: 860px) {
  .axie-topbar-nav {
    gap: 18px;
  }
}
@media (max-width: 980px) {
  .axie-topbar-nav {
    display: none;
  }
}

.axie-nav-link {
  position: relative;
  font-family: var(--axie-f-display);
  font-weight: 700;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  /* Use the neutral nav-ink token (warm dark grey, no plum cast) at full opacity
     — `--axie-ink` is plum-toned so it reads purple against cream even at 0.7. */
  color: var(--axie-ink-nav);
  padding: 8px 4px;
  text-decoration: none;
  font-variation-settings: "wdth" 95;
  transition: color 0.15s ease;
}
@media (max-width: 860px) {
  .axie-nav-link {
    font-size: 12px;
    letter-spacing: 0.06em;
  }
}
.axie-nav-link::after {
  content: "";
  position: absolute;
  left: 4px;
  right: 4px;
  bottom: 2px;
  height: 2.5px;
  background: var(--axie-ink);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.2s ease;
}
.axie-nav-link:hover, .axie-nav-link:focus-visible {
  color: var(--axie-ink-nav);
  outline: none;
}
.axie-nav-link:hover::after, .axie-nav-link:focus-visible::after {
  transform: scaleX(1);
}
.axie-nav-link.is-active {
  color: var(--axie-ink-nav);
}
.axie-nav-link.is-active::after {
  transform: scaleX(1);
  background: var(--axie-red);
  height: 3px;
}

/* ─── Right cluster ─── */
.axie-topbar-right {
  /* Equal-weight right column (mirror of `.axie-brand`), content pinned right. */
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}
@media (max-width: 980px) {
  .axie-topbar-right {
    display: none;
  }
}

/* Submit a request — red sticker CTA. Auto-hide on /requests/new */
.axie-nav-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  background: var(--axie-red);
  color: var(--axie-ink);
  border: var(--axie-outline);
  border-radius: var(--axie-radius-md);
  box-shadow: 3px 3px 0 var(--axie-shadow-col);
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-variation-settings: "wdth" 95;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap; /* labels like "Submit a request" must never wrap to 2 lines */
  transition: transform 0.12s ease, box-shadow 0.12s ease, background 0.12s ease;
}
.axie-nav-cta:hover {
  transform: translate(-1px, -1px);
  box-shadow: 4px 4px 0 var(--axie-shadow-col);
  color: var(--axie-ink);
}
.axie-nav-cta:active {
  transform: translate(2px, 2px);
  box-shadow: 2px 2px 0 var(--axie-shadow-col);
}
.axie-on-requests-new .axie-nav-cta {
  display: none;
}

/* Log in — secondary cream sticker (signed-out state), mint on hover */
.axie-nav-login {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  background: var(--axie-paper-2);
  color: var(--axie-ink);
  border: var(--axie-outline);
  border-radius: var(--axie-radius-md);
  box-shadow: 3px 3px 0 var(--axie-shadow-col);
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-variation-settings: "wdth" 95;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap; /* labels like "Submit a request" must never wrap to 2 lines */
  transition: transform 0.12s ease, box-shadow 0.12s ease, background 0.12s ease;
}
.axie-nav-login:hover {
  transform: translate(-1px, -1px);
  box-shadow: 4px 4px 0 var(--axie-shadow-col);
  color: var(--axie-ink);
}
.axie-nav-login:active {
  transform: translate(2px, 2px);
  box-shadow: 2px 2px 0 var(--axie-shadow-col);
}
.axie-nav-login:hover {
  background: var(--axie-mint);
}

/* ─── Signed-in user menu ─── */
.axie-user-menu {
  position: relative;
}

.axie-user-toggle {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 4px 14px 4px 4px;
  background: var(--axie-paper-2);
  color: var(--axie-ink);
  border: var(--axie-outline);
  border-radius: var(--axie-radius-pill);
  box-shadow: 3px 3px 0 var(--axie-shadow-col);
  cursor: pointer;
  font-family: var(--axie-f-body);
  font-weight: 600;
  font-size: 13px;
  transition: transform 0.12s ease, box-shadow 0.12s ease;
}
.axie-user-toggle:hover {
  transform: translate(-1px, -1px);
  box-shadow: 4px 4px 0 var(--axie-shadow-col);
}
.axie-user-toggle:focus-visible {
  outline: 2.5px solid var(--axie-ink);
  outline-offset: 2px;
}

.axie-user-avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--axie-pink);
  border: 2px solid var(--axie-ink);
  box-shadow: 1.5px 1.5px 0 var(--axie-ink);
  overflow: hidden;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  /* {{user_avatar}} renders an <img> — fill the sticker circle with the user's photo */
}
.axie-user-avatar .axie-user-avatar-img,
.axie-user-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}

.axie-user-name {
  font-family: var(--axie-f-body);
  font-weight: 600;
  font-size: 13px;
  color: var(--axie-ink);
  white-space: nowrap;
  max-width: 140px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.axie-user-chev {
  width: 12px;
  height: 12px;
  color: var(--axie-ink);
  transition: transform 0.2s ease;
  flex-shrink: 0;
}

.axie-user-menu.is-open .axie-user-chev {
  transform: rotate(180deg);
}

/* Dropdown panel — sticker card */
.axie-user-dropdown {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  width: 260px;
  background: var(--axie-paper-2);
  border: var(--axie-outline);
  border-radius: var(--axie-radius-lg);
  box-shadow: 5px 5px 0 var(--axie-shadow-col);
  padding: 8px;
  display: none;
  z-index: 60;
  animation: axieDropIn 0.18s ease-out;
  transform-origin: top right;
}

.axie-user-menu.is-open .axie-user-dropdown {
  display: block;
}

@keyframes axieDropIn {
  from {
    opacity: 0;
    transform: translateY(-4px) scale(0.97);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.axie-dropdown-head {
  padding: 10px 12px 12px;
  margin-bottom: 4px;
  border-bottom: 2px dashed rgba(var(--axie-ink-rgb), 0.18);
}

.axie-dropdown-name {
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 14px;
  color: var(--axie-ink);
  font-variation-settings: "wdth" 95;
}

/* Each menu item — Zendesk helpers (link, my_profile, etc.) append their own class
   alongside ours, so the !important on display/color guards against their styles. */
.axie-dropdown-item {
  display: flex !important;
  align-items: center;
  gap: 10px;
  padding: 9px 12px;
  border-radius: var(--axie-radius-sm);
  font-family: var(--axie-f-body);
  font-weight: 500;
  font-size: 13.5px;
  color: var(--axie-ink) !important;
  text-decoration: none;
  transition: background 0.12s ease;
}
.axie-dropdown-item svg {
  width: 16px;
  height: 16px;
  color: var(--axie-ink-soft);
  flex-shrink: 0;
}
.axie-dropdown-item:hover {
  background: var(--axie-paper);
  color: var(--axie-ink) !important;
}
.axie-dropdown-item.is-active {
  background: var(--axie-pink);
  font-weight: 600;
}

.axie-dropdown-sep {
  height: 0;
  margin: 6px 4px;
  border-top: 2px dashed rgba(var(--axie-ink-rgb), 0.18);
}

.axie-dropdown-danger {
  color: var(--axie-red-deep) !important;
}
.axie-dropdown-danger svg {
  color: var(--axie-red);
}
.axie-dropdown-danger:hover {
  background: rgba(255, 91, 69, 0.12);
}

/* ─── Mobile menu button + drop-panel ─── */
.axie-mobile-menu-btn {
  display: none;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  background: var(--axie-paper-2);
  color: var(--axie-ink);
  border: var(--axie-outline);
  border-radius: var(--axie-radius-md);
  box-shadow: 3px 3px 0 var(--axie-shadow-col);
  cursor: pointer;
}
.axie-mobile-menu-btn svg {
  width: 18px;
  height: 18px;
}
.axie-mobile-menu-btn .axie-mobile-avatar {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 1.5px solid var(--axie-ink);
  overflow: hidden;
  object-fit: cover;
}
@media (max-width: 980px) {
  .axie-mobile-menu-btn {
    display: inline-flex;
  }
}

.axie-mobile-nav {
  display: none;
  background: var(--axie-paper-2);
  border-top: var(--axie-outline-thick);
  padding: 14px 20px 18px;
}
.axie-mobile-nav.is-open {
  display: block;
}
@media (min-width: 981px) {
  .axie-mobile-nav {
    display: none !important;
  }
}

.axie-mobile-section {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.axie-mobile-user {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 4px 14px;
}
.axie-mobile-user .axie-mobile-user-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 2px solid var(--axie-ink);
  overflow: hidden;
  object-fit: cover;
  background: var(--axie-pink);
}
.axie-mobile-user .axie-mobile-user-name {
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 16px;
  color: var(--axie-ink);
  font-variation-settings: "wdth" 95;
}

.axie-mobile-link {
  display: block;
  padding: 10px 12px;
  background: transparent;
  border-radius: var(--axie-radius-sm);
  font-family: var(--axie-f-body);
  font-weight: 500;
  font-size: 14px;
  color: var(--axie-ink);
  text-decoration: none;
}
.axie-mobile-link:hover {
  background: var(--axie-paper);
  color: var(--axie-ink);
}

.axie-mobile-link-cta {
  background: var(--axie-red);
  color: var(--axie-ink) !important;
  font-family: var(--axie-f-display);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 12px;
  text-align: center;
  border: var(--axie-outline);
  box-shadow: 3px 3px 0 var(--axie-shadow-col);
  margin-top: 8px;
  font-variation-settings: "wdth" 95;
}
.axie-on-requests-new .axie-mobile-link-cta {
  display: none;
}

.axie-mobile-link-danger {
  color: var(--axie-red-deep);
}
.axie-mobile-link-danger:hover {
  background: rgba(255, 91, 69, 0.12);
}

.axie-mobile-sep {
  height: 0;
  margin: 8px 0;
  border-top: 2px dashed rgba(var(--axie-ink-rgb), 0.18);
}

/* ─── Hide any leftover Copenhagen header elements that might leak in ─── */
.header:not(.axie-topbar),
header.header {
  display: none;
}

/* ═══════════════════════════════════════════════════════════════
   INCIDENT BANNER (top of every page, sticky below the topbar)
   Status-driven colors + pulse animation to attract attention.
   ═══════════════════════════════════════════════════════════════ */
/* position: fixed because body has overflow-x: hidden, which establishes a
   containing block and breaks position: sticky (sticky would stick relative
   to body, not the viewport). fixed always sticks to the viewport. JS in
   document_head.hbs measures the banner height and sets `--axie-banner-h`
   so body padding-top + topbar top push down by that amount. v1.0.12. */
.axie-incident-banner {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 60; /* above topbar (which is 50) */
  border-bottom: 3px solid var(--axie-ink);
  animation: axieIncidentPulse 2s ease-in-out infinite;
}

/* When banner is in the DOM, push body content + topbar down by its height */
body:has(.axie-incident-banner) {
  padding-top: var(--axie-banner-h, 52px);
}

body:has(.axie-incident-banner) .axie-topbar {
  top: var(--axie-banner-h, 52px);
}

@keyframes axieIncidentPulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
  }
  50% {
    box-shadow: 0 6px 0 -2px currentColor;
  }
}
/* Status color variants — banner bg flips based on the dropdown value */
.axie-incident-investigating {
  background: var(--axie-yellow);
  color: rgba(194, 56, 31, 0.3);
}

.axie-incident-identified {
  background: var(--axie-orange);
  color: rgba(var(--axie-ink-rgb), 0.25);
}

.axie-incident-monitoring {
  background: var(--axie-sky);
  color: rgba(26, 102, 255, 0.3);
}

.axie-incident-resolved {
  background: var(--axie-mint);
  color: rgba(31, 138, 79, 0.35);
}

.axie-incident-bar {
  max-width: 1320px;
  margin: 0 auto;
  padding: 12px 32px;
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  color: var(--axie-ink);
}
@media (max-width: 720px) {
  .axie-incident-bar {
    padding: 12px 20px;
    gap: 10px;
  }
}

.axie-incident-bar .dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--axie-ink);
  flex-shrink: 0;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5);
  animation: axieDotBlink 1.2s ease-in-out infinite;
}

/* Resolved gets a non-blinking green dot — celebration, not alert */
.axie-incident-resolved .dot {
  background: #1F8A4F;
  animation: none;
}

@keyframes axieDotBlink {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.4;
    transform: scale(0.85);
  }
}
.axie-incident-bar .status-word {
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--axie-ink);
  font-variation-settings: "wdth" 95;
  white-space: nowrap;
}

.axie-incident-bar .msg {
  flex: 1;
  font-family: var(--axie-f-body);
  font-size: 14px;
  font-weight: 500;
  color: var(--axie-ink);
  min-width: 200px;
}
.axie-incident-bar .msg strong {
  font-weight: 700;
  color: var(--axie-ink);
}

.axie-incident-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.axie-incident-toggle,
.axie-incident-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: rgba(var(--axie-ink-rgb), 0.85);
  color: var(--axie-paper-2);
  border: 1.5px solid var(--axie-ink);
  border-radius: var(--axie-radius-sm);
  font-family: var(--axie-f-display);
  font-weight: 700;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  text-decoration: none;
  cursor: pointer;
  font-variation-settings: "wdth" 95;
  transition: background 0.12s ease, transform 0.12s ease;
}
.axie-incident-toggle:hover,
.axie-incident-link:hover {
  background: var(--axie-ink);
  color: var(--axie-paper-2);
  transform: translateY(-1px);
}
.axie-incident-toggle .chev,
.axie-incident-link .chev {
  font-size: 10px;
  transition: transform 0.18s ease;
}
.axie-incident-toggle.is-open .chev,
.axie-incident-link.is-open .chev {
  transform: rotate(180deg);
}

/* Expandable details panel — handles either the short-text setting OR
   the full HTML of a Zendesk article fetched via JS. */
.axie-incident-details {
  background: rgba(var(--axie-ink-rgb), 0.08);
  border-top: 1.5px dashed rgba(var(--axie-ink-rgb), 0.25);
  padding: 14px 32px 18px;
  max-height: 60vh;
  overflow-y: auto;
}
@media (max-width: 720px) {
  .axie-incident-details {
    padding: 14px 20px 16px;
  }
}

.axie-incident-details-inner {
  max-width: 1320px;
  margin: 0 auto;
  font-family: var(--axie-f-body);
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--axie-ink);
  /* Default short-text rendering */
  /* Article-body rendering — proper prose treatment for paragraphs,
     headings, lists, code, links, images, etc. */
}
.axie-incident-details-inner > p {
  margin: 0;
}
.axie-incident-details-inner p, .axie-incident-details-inner ul, .axie-incident-details-inner ol, .axie-incident-details-inner blockquote, .axie-incident-details-inner pre, .axie-incident-details-inner table {
  margin: 0 0 10px;
}
.axie-incident-details-inner p:last-child, .axie-incident-details-inner ul:last-child, .axie-incident-details-inner ol:last-child {
  margin-bottom: 0;
}
.axie-incident-details-inner h1, .axie-incident-details-inner h2, .axie-incident-details-inner h3, .axie-incident-details-inner h4 {
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: -0.005em;
  margin: 12px 0 6px;
  color: var(--axie-ink);
  font-variation-settings: "wdth" 95;
}
.axie-incident-details-inner ul, .axie-incident-details-inner ol {
  padding-left: 22px;
}
.axie-incident-details-inner ul li, .axie-incident-details-inner ol li {
  margin: 3px 0;
}
.axie-incident-details-inner ul li::marker {
  color: var(--axie-ink);
}
.axie-incident-details-inner strong {
  font-weight: 700;
}
.axie-incident-details-inner em {
  font-style: italic;
}
.axie-incident-details-inner a {
  color: var(--axie-ink);
  border-bottom: 1.5px solid var(--axie-ink);
  text-decoration: none;
  font-weight: 600;
}
.axie-incident-details-inner a:hover {
  background: rgba(255, 255, 255, 0.4);
}
.axie-incident-details-inner code {
  font-family: var(--axie-f-mono);
  font-size: 0.88em;
  padding: 1px 5px;
  background: rgba(255, 255, 255, 0.5);
  border: 1px solid rgba(var(--axie-ink-rgb), 0.2);
  border-radius: 4px;
}
.axie-incident-details-inner blockquote {
  margin-left: 0;
  padding-left: 12px;
  border-left: 3px solid rgba(var(--axie-ink-rgb), 0.3);
  color: rgba(var(--axie-ink-rgb), 0.8);
}
.axie-incident-details-inner img {
  max-width: 100%;
  height: auto;
  border-radius: 4px;
  margin: 8px 0;
}

/* (Old sticky-stacking rule replaced by the position: fixed approach above) */
/***** User info in header *****/
.user-info {
  display: inline-block;
}
.user-info .dropdown-toggle::after {
  display: none;
}
@media (min-width: 768px) {
  .user-info .dropdown-toggle::after {
    display: inline-block;
  }
}
.user-info > button {
  border: 0;
  color: #1F73B7;
  min-width: 0;
  padding: 0;
  white-space: nowrap;
}
.user-info > button:hover, .user-info > button:focus {
  color: #1F73B7;
  background-color: transparent;
}
.user-info > button::after {
  color: #1F73B7;
  padding-right: 15px;
}
[dir=rtl] .user-info > button::after {
  padding-left: 15px;
  padding-right: 0;
}

#user #user-name {
  display: none;
  font-size: 14px;
}
@media (min-width: 768px) {
  #user #user-name {
    display: inline-block;
  }
}
#user #user-name:hover {
  text-decoration: underline;
}

/***** User avatar *****/
.user-avatar {
  height: 25px;
  width: 25px;
  border-radius: 50%;
  display: inline-block;
  vertical-align: middle;
}

.avatar {
  display: inline-block;
  position: relative;
}
.avatar img {
  height: 40px;
  width: 40px;
}
.avatar .icon-agent {
  color: #17494D;
  border: 2px solid #fff;
  border-radius: 50%;
  bottom: -4px;
  background-color: #FFFFFF;
  font-size: 17px;
  height: 17px;
  line-height: 17px;
  position: absolute;
  right: -2px;
  text-align: center;
  width: 17px;
}

/* ============================================================
   Axie Support — Footer (footer.hbs)
   ============================================================
   Dark twilight bookend. Pinned to the bottom via the sticky-
   footer pattern in _axie-base (body flex-column + margin-top:
   auto here). Includes brand mark, live status pill, optional
   locale picker, and copyright line.
   ============================================================ */
.axie-footer {
  background: var(--axie-bg-dark);
  color: #FBEFD9;
  padding: 36px 32px;
  border-top: var(--axie-outline-thick);
  margin-top: auto; /* sticky-footer pin */
}

.axie-footer-inner {
  max-width: 1320px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}

.axie-footer-brand {
  display: flex;
  align-items: center;
  gap: 14px;
  text-decoration: none;
  color: inherit;
}
.axie-footer-brand:hover {
  color: inherit;
}

.axie-footer-brand-logo {
  height: 36px;
  width: auto;
  display: block;
  filter: brightness(1.6); /* lifts the white SVG against the twilight bg */
}

.axie-footer-brand-text {
  display: flex;
  flex-direction: column;
  line-height: 1;
}

.axie-footer-brand-tag {
  font-family: var(--axie-f-mono);
  font-size: 10px;
  font-weight: 600;
  color: rgba(251, 239, 217, 0.6);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  margin-bottom: 4px;
}

.axie-footer-brand-title {
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 20px;
  text-transform: uppercase;
  letter-spacing: -0.005em;
  color: var(--axie-yellow);
  font-variation-settings: "wdth" 95;
}

/* Live status pill */
.axie-footer-status {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--axie-f-mono);
  font-size: 11px;
  font-weight: 500;
  color: rgba(251, 239, 217, 0.8);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.axie-footer-status-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--axie-mint);
  box-shadow: 0 0 10px var(--axie-mint);
  animation: axieFooterPulse 1.6s ease-in-out infinite;
}

@keyframes axieFooterPulse {
  50% {
    box-shadow: 0 0 14px var(--axie-mint);
  }
}
/* Copyright */
.axie-footer-copy {
  font-family: var(--axie-f-mono);
  font-size: 11px;
  color: rgba(251, 239, 217, 0.45);
}

/* Locale picker */
.axie-footer-locale {
  position: relative;
}

.axie-locale-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 14px;
  background: rgba(251, 239, 217, 0.05);
  color: #FBEFD9;
  border: 1.5px solid rgba(251, 239, 217, 0.18);
  border-radius: var(--axie-radius-md);
  font-family: var(--axie-f-body);
  font-weight: 500;
  font-size: 12px;
  cursor: pointer;
  transition: background 0.12s ease, border-color 0.12s ease;
}
.axie-locale-toggle:hover {
  background: rgba(251, 239, 217, 0.1);
  border-color: rgba(251, 239, 217, 0.28);
}
.axie-locale-toggle svg {
  width: 11px;
  height: 11px;
  transition: transform 0.2s ease;
}

.axie-footer-locale.is-open .axie-locale-toggle svg {
  transform: rotate(180deg);
}

.axie-locale-menu {
  position: absolute;
  bottom: calc(100% + 8px);
  right: 0;
  min-width: 180px;
  background: var(--axie-bg-dark-2);
  border: 1.5px solid rgba(251, 239, 217, 0.18);
  border-radius: var(--axie-radius-md);
  padding: 6px;
  display: none;
  z-index: 30;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.5);
  max-height: 280px;
  overflow-y: auto;
}

.axie-footer-locale.is-open .axie-locale-menu {
  display: block;
}

.axie-locale-item {
  display: block;
  padding: 8px 12px;
  border-radius: var(--axie-radius-sm);
  font-family: var(--axie-f-body);
  font-weight: 500;
  font-size: 13px;
  color: #FBEFD9;
  text-decoration: none;
}
.axie-locale-item:hover {
  background: rgba(251, 239, 217, 0.08);
  color: #FBEFD9;
}

/* Hide Copenhagen's default footer if it slips through */
footer.footer:not(.axie-footer) {
  display: none;
}

/* Stack on narrow screens */
@media (max-width: 720px) {
  .axie-footer {
    padding: 28px 24px;
  }
  .axie-footer-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
  }
  .axie-footer-status {
    margin-left: 0;
  }
  .axie-footer-locale {
    width: 100%;
  }
  .axie-locale-toggle {
    width: 100%;
    justify-content: space-between;
  }
  .axie-locale-menu {
    right: auto;
    left: 0;
    min-width: 100%;
  }
}
/***** Breadcrumbs *****/
.breadcrumbs {
  margin: 0 0 15px 0;
  padding: 0;
  display: flex;
}
@media (min-width: 768px) {
  .breadcrumbs {
    margin: 0;
  }
}
.breadcrumbs li {
  display: inline-block;
  color: #5a6d7c;
  font-size: 13px;
  max-width: 450px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.breadcrumbs li + li::before {
  content: ">";
  margin: 0 4px;
}
.breadcrumbs li a:visited {
  color: #1F73B7;
}

/***** Search field *****/
.search-container {
  position: relative;
}

.search {
  border-color: #848F99;
  border-radius: 30px;
  border-style: solid;
  border-width: 1px;
  display: flex;
  position: relative;
  transition: border 0.12s ease-in-out;
}
.search:focus-within {
  border-color: #17494D;
}
.search input[type=search],
.search .clear-button {
  background-color: #fff;
  border-radius: 30px;
  border: none;
}
.search-full input[type=search], .search-full .clear-button {
  border-color: #fff;
}
.search input[type=search] {
  appearance: none;
  -webkit-appearance: none;
  box-sizing: border-box;
  color: #666;
  flex: 1 1 auto;
  height: 40px;
  width: 100%;
}
.search input[type=search]:focus {
  color: #555;
}
.search input[type=search]::-webkit-search-decoration, .search input[type=search]::-webkit-search-cancel-button, .search input[type=search]::-webkit-search-results-button, .search input[type=search]::-webkit-search-results-decoration {
  -webkit-appearance: none;
}
.search input[type=search]:-webkit-autofill, .search input[type=search]:-webkit-autofill:hover, .search input[type=search]:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px #fff inset;
}
.search .clear-button {
  align-items: center;
  box-sizing: border-box;
  color: #777;
  cursor: pointer;
  display: none;
  flex: none;
  justify-content: center;
  padding: 0 15px;
}
.search .clear-button:hover {
  background-color: #17494D;
  color: #fff;
}
.search .clear-button:focus {
  outline: 0;
  box-shadow: 0 0 0 3px #17494D;
}
.search-has-value .clear-button {
  display: flex;
}

[dir=ltr] .search input[type=search] {
  padding-left: 40px;
  padding-right: 20px;
}
[dir=ltr] .search-has-value input[type=search] {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
  border-right-color: transparent;
}
[dir=ltr] .search-has-value input[type=search]:focus {
  border-right-color: #17494D;
}
[dir=ltr] .search .clear-button {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
  border-left-color: transparent;
}
[dir=ltr] .search .clear-button:focus {
  border-left-color: #17494D;
}

[dir=rtl] .search input[type=search] {
  padding-left: 20px;
  padding-right: 40px;
}
[dir=rtl] .search-has-value input[type=search] {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
  border-left-color: transparent;
}
[dir=rtl] .search-has-value input[type=search]:focus {
  border-left-color: #17494D;
}
[dir=rtl] .search .clear-button {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
  border-right-color: transparent;
}
[dir=rtl] .search .clear-button:focus {
  border-right-color: #17494D;
}

.search-icon {
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  position: absolute;
  left: 15px;
  z-index: 1;
  width: 18px;
  height: 18px;
  color: #777;
  pointer-events: none;
}
[dir=rtl] .search-icon {
  left: auto;
  right: 15px;
}

/* ============================================================
   Axie Support — Home hero (cream paper, character row banner)
   ============================================================
   The hero lives on cream paper (same as the rest of the page),
   with the Axie character row image as a banner at the top that
   mask-fades into the page. Headline + sub + search command bar
   + people-ask chips sit in cream-only territory below.

   Asset: --axie-asset-hero-banner is set in document_head.hbs as
     url('{{asset 'hero-banner.png'}}')
   ============================================================ */
.axie-hero {
  position: relative;
  background: var(--axie-paper);
  color: var(--axie-ink);
  /* padding-top tracks the banner's 3:1 aspect (~33vw) plus a small ~16px
     buffer. Clamp min of 150px keeps mobile (where 33vw is ~140px) honest
     without leaving the 100px+ gap we had at min:300px. v1.0.7. */
  padding: clamp(150px, 33vw + 16px, 660px) 32px 32px;
  overflow: hidden;
  isolation: isolate;
}
@media (max-width: 720px) {
  .axie-hero {
    padding-bottom: 20px;
  }
}

/* Soft pastel watercolor pools — peach, lavender, pink, sky, mint */
.axie-hero-bg {
  position: absolute;
  inset: 0;
  z-index: -3;
  background: radial-gradient(ellipse 70% 30% at 50% 32%, rgba(255, 147, 69, 0.22), transparent 75%), radial-gradient(ellipse 60% 45% at 50% 92%, rgba(183, 158, 245, 0.18), transparent 70%), radial-gradient(ellipse 55% 40% at 12% 60%, rgba(255, 143, 177, 0.22), transparent 70%), radial-gradient(ellipse 55% 40% at 88% 65%, rgba(168, 224, 255, 0.22), transparent 70%), radial-gradient(ellipse 45% 30% at 20% 14%, rgba(146, 229, 189, 0.18), transparent 70%);
  background-color: var(--axie-paper);
  /* subtle paper grain overlaid on the watercolor pools */
}
.axie-hero-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(var(--axie-ink-rgb), 0.05) 1px, transparent 1px);
  background-size: 22px 22px;
  opacity: 0.6;
  pointer-events: none;
}

/* The Axie character row — tighter fade (75% → 100%) so characters end cleanly
   close to the headline instead of ghosting into a long fade zone. v1.0.7. */
.axie-hero-banner {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  aspect-ratio: 3/1;
  background-image: var(--axie-asset-hero-banner);
  background-size: 100% auto;
  background-position: center top;
  background-repeat: no-repeat;
  z-index: -2;
  filter: drop-shadow(0 10px 0 rgba(var(--axie-ink-rgb), 0.08)) drop-shadow(0 18px 24px rgba(var(--axie-ink-rgb), 0.12));
  mask-image: linear-gradient(180deg, black 0%, black 75%, transparent 100%);
  -webkit-mask-image: linear-gradient(180deg, black 0%, black 75%, transparent 100%);
  animation: axieHeroFloat 9s ease-in-out infinite;
}

@keyframes axieHeroFloat {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-6px);
  }
}
/* Floating sparkles dotted across the hero (6 of them, alternating colors) */
.axie-hero-spark {
  position: absolute;
  pointer-events: none;
  font-family: var(--axie-f-display);
  animation: axieHeroTwinkle 2.8s ease-in-out infinite;
  z-index: 0;
}

@keyframes axieHeroTwinkle {
  0%, 100% {
    transform: scale(1) rotate(0);
    opacity: 0.85;
  }
  50% {
    transform: scale(1.4) rotate(20deg);
    opacity: 0.3;
  }
}
.axie-hero-spark.s1 {
  top: 40%;
  left: 7%;
  font-size: 26px;
  color: var(--axie-orange);
}

.axie-hero-spark.s2 {
  top: 46%;
  right: 9%;
  font-size: 22px;
  color: var(--axie-pink-deep);
  animation-delay: 0.6s;
}

.axie-hero-spark.s3 {
  bottom: 22%;
  left: 12%;
  font-size: 18px;
  color: var(--axie-lavender);
  animation-delay: 1.2s;
}

.axie-hero-spark.s4 {
  bottom: 28%;
  right: 14%;
  font-size: 24px;
  color: var(--axie-mint);
  animation-delay: 1.8s;
}

.axie-hero-spark.s5 {
  top: 64%;
  left: 4%;
  font-size: 14px;
  color: var(--axie-magenta);
  animation-delay: 0.3s;
}

.axie-hero-spark.s6 {
  top: 56%;
  right: 5%;
  font-size: 16px;
  color: var(--axie-sky);
  animation-delay: 1s;
}

.axie-hero-content {
  position: relative;
  z-index: 2;
  max-width: 880px;
  margin: 0 auto;
  text-align: center;
}

.axie-hero-title {
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: clamp(48px, 7vw, 112px);
  line-height: 0.95;
  letter-spacing: -0.035em;
  margin: 0 auto 20px;
  color: var(--axie-ink);
  font-variation-settings: "wdth" 95;
  text-wrap: balance;
  max-width: 14ch;
}
.axie-hero-title em {
  font-style: normal;
  font-variation-settings: "wdth" 110;
  background: linear-gradient(135deg, var(--axie-orange) 0%, var(--axie-red) 45%, var(--axie-pink-deep) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  filter: drop-shadow(2px 3px 0 rgba(var(--axie-ink-rgb), 0.18));
}

.axie-hero-sub {
  font-family: var(--axie-f-body);
  font-size: 17px;
  font-weight: 500;
  color: var(--axie-ink-soft);
  max-width: 52ch;
  line-height: 1.55;
  margin: 0 auto 30px;
}

/* Sticker command bar (search) — straightened for v1.0.2 */
.axie-cmd {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  max-width: 580px;
  margin: 0 auto 24px;
  padding: 8px 8px 8px 20px;
  background: var(--axie-paper-2);
  border: var(--axie-outline);
  border-radius: var(--axie-radius-lg);
  box-shadow: 5px 5px 0 var(--axie-shadow-col);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.axie-cmd:focus-within {
  transform: translate(-2px, -2px);
  box-shadow: 6px 6px 0 var(--axie-shadow-col);
}
.axie-cmd svg {
  width: 20px;
  height: 20px;
  color: var(--axie-ink-soft);
  flex-shrink: 0;
}
.axie-cmd input {
  flex: 1;
  min-width: 0;
  background: transparent;
  border: 0;
  outline: none;
  font-family: var(--axie-f-body);
  font-size: 16px;
  font-weight: 500;
  color: var(--axie-ink);
  padding: 12px 4px;
}
.axie-cmd input::placeholder {
  color: var(--axie-ink-dim);
}
.axie-cmd kbd {
  font-family: var(--axie-f-mono);
  font-size: 10px;
  font-weight: 600;
  padding: 3px 7px;
  border: 1.5px solid var(--axie-ink);
  border-radius: var(--axie-radius-sm);
  background: var(--axie-paper);
  color: var(--axie-ink);
  box-shadow: 1.5px 1.5px 0 var(--axie-ink);
}

.axie-cmd-go {
  background: var(--axie-red);
  color: var(--axie-ink);
  border: var(--axie-outline);
  padding: 10px 18px;
  border-radius: var(--axie-radius-md);
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 13px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  font-variation-settings: "wdth" 95;
  box-shadow: 3px 3px 0 var(--axie-shadow-col);
  transition: transform 0.1s ease, box-shadow 0.1s ease;
}
.axie-cmd-go:hover {
  transform: translate(-1px, -1px);
  box-shadow: 4px 4px 0 var(--axie-shadow-col);
}
.axie-cmd-go:active {
  transform: translate(2px, 2px);
  box-shadow: 2px 2px 0 var(--axie-shadow-col);
}

/* People-ask chips */
.axie-hero-asks {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  font-family: var(--axie-f-mono);
  font-size: 11px;
  font-weight: 500;
  color: var(--axie-ink-soft);
}
.axie-hero-asks .lab {
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-right: 6px;
}
.axie-hero-asks a {
  padding: 6px 13px;
  background: var(--axie-paper-2);
  border: var(--axie-outline-thin);
  border-radius: var(--axie-radius-pill);
  color: var(--axie-ink);
  font-family: var(--axie-f-body);
  font-size: 12px;
  font-weight: 500;
  text-decoration: none;
  box-shadow: 2px 2px 0 var(--axie-shadow-col);
  transition: transform 0.12s ease, box-shadow 0.12s ease, background 0.12s ease;
  /* No alternating rotation — chips stay aligned for cleaner read */
}
.axie-hero-asks a:hover {
  transform: translate(-1px, -1px);
  box-shadow: 3px 3px 0 var(--axie-shadow-col);
  background: var(--axie-pink);
  color: var(--axie-ink);
}

/* Hide Copenhagen's legacy .hero if it leaks in */
.hero:not(.axie-hero) {
  display: none;
}

/* Copenhagen's script.js auto-injects a `.clear-button` (X) on every
   <input type="search"> via buildClearSearchButton(). We don't need it —
   the search bar has its own clean look. Also kills native UA cancel. */
.axie-cmd .clear-button,
.axie-cmd button.clear-button {
  display: none !important;
}

.axie-cmd input[type=search]::-webkit-search-cancel-button,
.axie-cmd input[type=search]::-webkit-search-decoration,
.axie-cmd input[type=search]::-webkit-search-results-button {
  display: none;
}

.page-header {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 10px 0;
}
@media (min-width: 768px) {
  .page-header {
    align-items: baseline;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 16px;
    margin: 0;
  }
}
.page-header .section-subscribe {
  flex-shrink: 0;
  margin-bottom: 10px;
}
@media (min-width: 768px) {
  .page-header .section-subscribe {
    margin-bottom: 0;
  }
}
.page-header h1 {
  flex-grow: 1;
  margin-bottom: 10px;
}
.page-header-description {
  font-style: italic;
  margin: 0 0 30px 0;
  word-break: break-word;
}
@media (min-width: 1024px) {
  .page-header-description {
    flex-basis: 100%;
  }
}
.page-header .icon-lock {
  height: 20px;
  width: 20px;
  position: relative;
  left: -5px;
  vertical-align: baseline;
}

.sub-nav {
  align-items: baseline;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 15px 30px;
  justify-content: space-between;
  margin-bottom: 55px;
}
@media (min-width: 768px) {
  .sub-nav {
    flex-direction: row;
  }
}
.sub-nav .breadcrumbs {
  margin: 0;
}
.sub-nav .search-container {
  max-width: 300px;
  width: 100%;
}
@media (min-width: 768px) {
  .sub-nav .search-container {
    flex: 0 1 300px;
  }
}
.sub-nav input[type=search]::after {
  font-size: 15px;
}

/***** Blocks *****/
/* Used in Homepage#categories and Community#topics */
.blocks-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  list-style: none;
  padding: 0;
}
@media (min-width: 768px) {
  .blocks-list {
    margin: 0 -15px;
  }
}
.blocks-item {
  border: 1px solid #17494D;
  border-radius: 4px;
  box-sizing: border-box;
  color: #17494D;
  display: flex;
  flex: 1 0 340px;
  margin: 0 0 30px;
  max-width: 100%;
  text-align: center;
}
@media (min-width: 768px) {
  .blocks-item {
    margin: 0 15px 30px;
  }
}
.blocks-item:hover, .blocks-item:focus, .blocks-item:active {
  background-color: #17494D;
}
.blocks-item:hover *, .blocks-item:focus *, .blocks-item:active * {
  color: #FFFFFF;
  text-decoration: none;
}
.blocks-item-internal {
  background-color: transparent;
  border: 1px solid #ddd;
}
.blocks-item-internal .icon-lock {
  height: 15px;
  width: 15px;
  bottom: 5px;
  position: relative;
}
.blocks-item-internal a {
  color: #2F3941;
}
.blocks-item-link {
  color: #17494D;
  padding: 20px 30px;
  display: flex;
  flex-direction: column;
  flex: 1;
  justify-content: center;
  border-radius: inherit;
}
.blocks-item-link:visited, .blocks-item-link:hover, .blocks-item-link:active {
  color: inherit;
  text-decoration: none;
}
.blocks-item-link:focus {
  outline: 0;
  box-shadow: 0 0 0 3px #17494D;
  text-decoration: none;
}
.blocks-item-title {
  margin-bottom: 0;
  font-size: 16px;
}
.blocks-item-description {
  margin: 0;
}
.blocks-item-description:not(:empty) {
  margin-top: 10px;
}

/* ============================================================
   Axie Support — Home page (home_page.hbs)
   ============================================================
   Status ribbon (admin-triggered) + cream paper main layout +
   action grid ("I need to...") + service status board +
   knowledge base category tiles + promoted articles.

   Hero styles live in _hero.scss.
   Stuck card lives in _axie-base.scss (shared with auth pages).
   ============================================================ */
/* (Incident banner styles moved to _header.scss in v1.0.11 since the banner
   now lives in header.hbs and appears sticky on every page.) */
/* ─── Main desk layout — cream paper with dot-grain texture
   Top padding kept small (16px) so it flows from the hero above without a
   visible gap (v1.0.6). Bottom keeps generous breathing room before footer. */
.axie-desk-layout {
  background: var(--axie-paper);
  padding: 16px 32px 80px;
  background-image: radial-gradient(rgba(var(--axie-ink-rgb), 0.04) 1px, transparent 1px);
  background-size: 22px 22px;
}
@media (max-width: 720px) {
  .axie-desk-layout {
    padding: 12px 24px 60px;
  }
}

.axie-desk-inner {
  max-width: 1180px;
  margin: 0 auto;
}

.axie-desk-inner > section {
  margin-bottom: 56px;
}

.axie-desk-inner > section:last-child {
  margin-bottom: 0;
}

/* ─── Action grid — "I need to..." verb-led ─── */
.axie-action-grid {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}
@media (max-width: 720px) {
  .axie-action-grid {
    grid-template-columns: 1fr;
  }
}

.axie-action {
  display: grid;
  grid-template-columns: 52px 1fr auto;
  align-items: center;
  gap: 16px;
  padding: 18px 22px;
  background: var(--axie-paper-2);
  border: var(--axie-outline);
  border-radius: var(--axie-radius-xl);
  box-shadow: 5px 5px 0 var(--axie-shadow-col);
  color: var(--axie-ink);
  text-decoration: none;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.axie-action:hover {
  transform: translate(-2px, -2px);
  box-shadow: 6px 6px 0 var(--axie-shadow-col);
  color: var(--axie-ink);
}
.axie-action .action-num {
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 36px;
  color: var(--axie-ink);
  line-height: 1;
  opacity: 0.18;
  font-variation-settings: "wdth" 95;
}
.axie-action .action-body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.axie-action .action-verb {
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 17px;
  text-transform: uppercase;
  letter-spacing: -0.005em;
  line-height: 1.05;
  color: var(--axie-ink);
  font-variation-settings: "wdth" 95;
}
.axie-action .action-sub {
  font-family: var(--axie-f-body);
  font-size: 13px;
  font-weight: 500;
  color: var(--axie-ink-soft);
  line-height: 1.4;
}
.axie-action .action-arr {
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 22px;
  color: var(--axie-ink);
  transition: transform 0.15s ease;
}
.axie-action:hover .action-arr {
  transform: translateX(5px);
}

/* Per-card colored numerals (cycling palette) */
.axie-action-grid li:nth-child(6n+1) .action-num {
  color: var(--axie-red);
  opacity: 0.7;
}

.axie-action-grid li:nth-child(6n+2) .action-num {
  color: var(--axie-orange);
  opacity: 0.85;
}

.axie-action-grid li:nth-child(6n+3) .action-num {
  color: var(--axie-pink-deep);
  opacity: 0.85;
}

.axie-action-grid li:nth-child(6n+4) .action-num {
  color: var(--axie-magenta);
  opacity: 0.85;
}

.axie-action-grid li:nth-child(6n+5) .action-num {
  color: var(--axie-mint);
  opacity: 0.95;
}

.axie-action-grid li:nth-child(6n+6) .action-num {
  color: var(--axie-sky);
  opacity: 0.95;
}

/* ─── Service status board (10 services — 3 cols wide, 2 mid, 1 mobile) ─── */
.axie-svc-grid {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
@media (max-width: 980px) {
  .axie-svc-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 720px) {
  .axie-svc-grid {
    grid-template-columns: 1fr;
  }
}

.axie-svc {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 18px;
  background: var(--axie-paper-2);
  border: var(--axie-outline-thin);
  border-radius: var(--axie-radius-md);
  box-shadow: 3px 3px 0 var(--axie-shadow-col);
}
.axie-svc .svc-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  flex-shrink: 0;
  box-shadow: 0 0 0 2px var(--axie-ink);
}
.axie-svc .svc-dot.ok {
  background: var(--axie-mint);
}
.axie-svc .svc-dot.warn {
  background: var(--axie-yellow);
  animation: axieSvcPulseY 1.6s ease-in-out infinite;
}
.axie-svc .svc-dot.err {
  background: var(--axie-red);
  animation: axieSvcPulseR 1.6s ease-in-out infinite;
}
.axie-svc .svc-dot.maint {
  background: var(--axie-orange);
  animation: axieSvcPulseO 1.6s ease-in-out infinite;
}
.axie-svc .svc-dot.dev {
  background: var(--axie-lavender);
}
.axie-svc .svc-name {
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: -0.005em;
  line-height: 1.1;
  color: var(--axie-ink);
  font-variation-settings: "wdth" 95;
}
.axie-svc .svc-state {
  font-family: var(--axie-f-mono);
  font-size: 11px;
  font-weight: 500;
  color: var(--axie-ink-soft);
}

@keyframes axieSvcPulseY {
  50% {
    box-shadow: 0 0 0 2px var(--axie-ink), 0 0 12px rgba(255, 200, 90, 0.7);
  }
}
@keyframes axieSvcPulseR {
  50% {
    box-shadow: 0 0 0 2px var(--axie-ink), 0 0 12px rgba(255, 91, 69, 0.7);
  }
}
@keyframes axieSvcPulseO {
  50% {
    box-shadow: 0 0 0 2px var(--axie-ink), 0 0 12px rgba(255, 147, 69, 0.7);
  }
}
/* Optional "View full status page" link below the 4 service rows */
.axie-status-link-row {
  display: flex;
  justify-content: flex-end;
  margin-top: 14px;
}

/* ─── Knowledge base category tiles ───
   Pulls from {{#each categories}}. The cat-icon empty <span> gets its
   image via :nth-of-type(n) — 6 character icons cycle through positions.
   To change which icon appears at which position: rearrange the categories
   in Zendesk Guide admin → Arrange content. */
.axie-cat-grid {
  list-style: none;
  padding: 8px 8px 28px;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}
@media (max-width: 920px) {
  .axie-cat-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
}
@media (max-width: 560px) {
  .axie-cat-grid {
    grid-template-columns: 1fr;
  }
}
.axie-cat-grid li {
  display: flex;
}

.axie-cat-tile {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 28px 24px 24px;
  background: var(--axie-paper-2);
  border: var(--axie-outline-thick);
  border-radius: var(--axie-radius-2xl);
  text-decoration: none;
  color: var(--axie-ink);
  position: relative;
  min-height: 280px;
  box-shadow: 6px 6px 0 var(--axie-shadow-col), 12px 12px 0 rgba(var(--axie-ink-rgb), 0.18);
  text-align: center;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  /* No static rotation — kept aligned. Hover lifts the card cleanly. */
  /* Color ribbon at top — cycles 6 colors */
}
.axie-cat-tile:hover {
  transform: translateY(-5px);
  box-shadow: 8px 8px 0 var(--axie-shadow-col), 16px 18px 0 rgba(var(--axie-ink-rgb), 0.22);
  color: var(--axie-ink);
}
.axie-cat-tile::before {
  content: "";
  position: absolute;
  top: -3px;
  left: -3px;
  right: -3px;
  height: 14px;
  border-radius: var(--axie-radius-2xl) var(--axie-radius-2xl) 0 0;
  border: var(--axie-outline-thick);
  border-bottom: 0;
  z-index: 0;
  pointer-events: none;
}

.axie-cat-grid li:nth-child(6n+1) .axie-cat-tile::before {
  background: var(--axie-orange);
}

.axie-cat-grid li:nth-child(6n+2) .axie-cat-tile::before {
  background: var(--axie-sky);
}

.axie-cat-grid li:nth-child(6n+3) .axie-cat-tile::before {
  background: var(--axie-mint);
}

.axie-cat-grid li:nth-child(6n+4) .axie-cat-tile::before {
  background: var(--axie-pink);
}

.axie-cat-grid li:nth-child(6n+5) .axie-cat-tile::before {
  background: var(--axie-lavender);
}

.axie-cat-grid li:nth-child(6n+6) .axie-cat-tile::before {
  background: var(--axie-yellow);
}

/* Character icon — empty span gets a background-image via :nth-of-type */
.axie-cat-tile .cat-icon {
  width: 108px;
  height: 108px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin: 8px 0 4px;
  filter: drop-shadow(2px 4px 0 rgba(var(--axie-ink-rgb), 0.22));
  transition: transform 0.3s ease;
}

.axie-cat-grid li:nth-child(6n+1) .cat-icon {
  background-image: var(--axie-asset-cat-general);
}

.axie-cat-grid li:nth-child(6n+2) .cat-icon {
  background-image: var(--axie-asset-cat-app);
}

.axie-cat-grid li:nth-child(6n+3) .cat-icon {
  background-image: var(--axie-asset-cat-land);
}

.axie-cat-grid li:nth-child(6n+4) .cat-icon {
  background-image: var(--axie-asset-cat-origins);
}

.axie-cat-grid li:nth-child(6n+5) .cat-icon {
  background-image: var(--axie-asset-cat-classic);
}

.axie-cat-grid li:nth-child(6n+6) .cat-icon {
  background-image: var(--axie-asset-cat-pals);
}

.axie-cat-tile:hover .cat-icon {
  transform: translateY(-4px) rotate(-3deg);
}

.axie-cat-tile .cat-title {
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 22px;
  text-transform: uppercase;
  letter-spacing: -0.01em;
  line-height: 1;
  color: var(--axie-ink);
  font-variation-settings: "wdth" 95;
  margin: 0;
}

.axie-cat-tile .cat-desc {
  font-family: var(--axie-f-body);
  font-size: 13px;
  font-weight: 500;
  color: var(--axie-ink-soft);
  line-height: 1.5;
  flex: 1;
  margin: 0;
}

/* ─── Help row — promoted articles list + "still stuck" contact card, side by
   side (v1.0.15). On the home page the promoted list was a full-width band with
   a big empty middle in every row; pairing it with the contact card fills the
   space and narrows each row. Collapses to a single column (promoted, then card)
   below $axie-bp-aside. No promoted articles → card stands alone, centered. ─── */
.axie-helprow {
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
  /* Vertically center the (shorter) contact card against the (taller) promoted
     list so it isn't pinned to the top with a dead gap below it. Harmless in the
     single-column cases — each item is alone in its row, sized to content. */
  align-items: center;
}
.axie-helprow.has-promoted {
  grid-template-columns: minmax(0, 1.4fr) minmax(320px, 1fr);
}
@media (max-width: 980px) {
  .axie-helprow.has-promoted {
    grid-template-columns: 1fr;
  }
}

.axie-helprow-promoted {
  min-width: 0;
} /* let the list shrink, not overflow */
/* Contact card — stacked (art on top, copy below, centered). Reuses the shared
   .axie-stuck-art / -text / -cta visuals but NOT the horizontal .axie-stuck-inner
   shell, so the standalone card on the other 7 templates is unaffected. */
.axie-helprow-stuck {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 2px;
  background: var(--axie-paper-2);
  /* Match the promoted list's border + shadow weight so the two read as a
     coordinated pair rather than a heavy list next to a flimsy card. */
  border: var(--axie-outline);
  border-radius: var(--axie-radius-xl);
  box-shadow: 5px 5px 0 var(--axie-shadow-col);
  padding: 30px 30px 32px;
  /* Alone (no promoted list): centered, comfortable width — mirrors the
     standalone .axie-stuck used on the other pages. */
}
.axie-helprow:not(.has-promoted) .axie-helprow-stuck {
  max-width: 560px;
  margin: 0 auto;
}
.axie-helprow-stuck .axie-stuck-art {
  width: 100%;
  max-width: 190px;
  margin: 0 0 10px;
}
.axie-helprow-stuck .axie-stuck-text {
  text-align: center;
}
.axie-helprow-stuck .axie-stuck-text p {
  margin-left: auto;
  margin-right: auto;
}

/* ─── Promoted articles list (only rendered if Zendesk has any) ─── */
.axie-promoted-list {
  list-style: none;
  padding: 0;
  margin: 0;
  background: var(--axie-paper-2);
  border: var(--axie-outline);
  border-radius: var(--axie-radius-xl);
  box-shadow: 5px 5px 0 var(--axie-shadow-col);
  overflow: hidden;
}
.axie-promoted-list li {
  border-bottom: 2px dashed rgba(var(--axie-ink-rgb), 0.18);
}
.axie-promoted-list li:last-child {
  border-bottom: 0;
}
.axie-promoted-list a {
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  align-items: center;
  gap: 14px;
  padding: 14px 22px;
  color: var(--axie-ink);
  text-decoration: none;
  transition: background 0.12s ease, padding-left 0.15s ease;
}
.axie-promoted-list a:hover {
  background: rgba(255, 200, 90, 0.18);
  padding-left: 28px;
  color: var(--axie-ink);
}
.axie-promoted-list .mark {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  background: var(--axie-yellow);
  border: 1.5px solid var(--axie-ink);
  border-radius: 50%;
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 12px;
  color: var(--axie-ink);
  box-shadow: 1.5px 1.5px 0 var(--axie-ink);
}
.axie-promoted-list .title {
  font-family: var(--axie-f-body);
  font-weight: 500;
  font-size: 14.5px;
  color: var(--axie-ink);
  line-height: 1.4;
}
.axie-promoted-list .internal {
  font-size: 12px;
}
.axie-promoted-list .arr {
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 18px;
  color: var(--axie-ink);
}

/* Hide Copenhagen's legacy home page blocks if they leak in */
.section.knowledge-base,
.categories.blocks,
.section.home-section {
  display: none;
}

/***** Recent activity *****/
.recent-activity-header {
  margin-bottom: 10px;
  text-align: center;
}
.recent-activity-list {
  padding: 0;
}
.recent-activity-item {
  border-bottom: 1px solid #ddd;
  overflow: auto;
  padding: 20px 0;
}
.recent-activity-item h3 {
  margin: 0;
}
.recent-activity-item-parent {
  font-size: 16px;
  font-weight: 600;
}
.recent-activity-item-parent, .recent-activity-item-link {
  margin: 6px 0;
  display: inline-block;
  width: 100%;
}
@media (min-width: 768px) {
  .recent-activity-item-parent, .recent-activity-item-link {
    width: 70%;
    margin: 0;
  }
}
.recent-activity-item-link {
  font-size: 14px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.recent-activity-item-meta {
  color: #2F3941;
  margin: 15px 0 0 0;
  float: none;
}
@media (min-width: 768px) {
  .recent-activity-item-meta {
    margin: 0;
    float: right;
  }
  [dir=rtl] .recent-activity-item-meta {
    float: left;
  }
}
.recent-activity-item-time, .recent-activity-item-comment {
  display: inline-block;
  font-size: 13px;
}
.recent-activity-item-comment {
  padding-left: 5px;
}
[dir=rtl] .recent-activity-item-comment {
  padding: 0 5px 0 0;
}
.recent-activity-item-comment::before {
  display: inline-block;
}
.recent-activity-controls {
  padding-top: 15px;
}
.recent-activity-controls a {
  color: #1F73B7;
  text-decoration: underline;
}
.recent-activity-controls a:visited {
  color: #9358B0;
}
.recent-activity-controls a:hover, .recent-activity-controls a:active, .recent-activity-controls a:focus {
  color: #0F3554;
}
.recent-activity-accessibility-label {
  border: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
}
.recent-activity-comment-icon svg {
  vertical-align: middle;
  color: #17494D;
  width: 16px;
  height: 16px;
}
.recent-activity-comment-icon:after {
  content: attr(data-comment-count);
  margin-left: 3px;
}
[dir=rtl] .recent-activity-comment-icon:after {
  margin-left: 0;
  margin-right: 3px;
}

/* Axie sub-page components (used by category, section, article, contact, etc.) */
/* ============================================================
   Axie Support — shared sub-page components
   ============================================================
   Styles for: sub-hero (compact hero used on every non-home page),
   breadcrumb chips, body-grid (2-col sidebar + main),
   sticker sidebar, sub-card preview grid, article list, see-all
   button. Used by category, section, article, contact, profile,
   requests, request-detail, activities, contact-details.
   ============================================================ */
/* ─── Sub-hero (compact text-first hero) ─── */
.axie-sub-hero {
  position: relative;
  padding: 48px 32px 40px;
  background: var(--axie-paper);
  /* Was overflow: hidden — clipped breadcrumb chip shadows. The bg pools are
     constrained by their own inset:0 absolute positioning anyway. */
  isolation: isolate;
  border-bottom: 3px dashed rgba(var(--axie-ink-rgb), 0.18);
}
@media (max-width: 720px) {
  .axie-sub-hero {
    padding: 32px 24px 28px;
  }
}

.axie-sub-hero-bg {
  pointer-events: none;
}

.axie-sub-hero-bg {
  position: absolute;
  inset: 0;
  z-index: -2;
  background: radial-gradient(ellipse 40% 60% at 90% 30%, rgba(255, 143, 177, 0.2), transparent 70%), radial-gradient(ellipse 40% 50% at 10% 80%, rgba(255, 147, 69, 0.16), transparent 70%);
}
.axie-sub-hero-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(var(--axie-ink-rgb), 0.05) 1px, transparent 1px);
  background-size: 22px 22px;
  opacity: 0.5;
}

.axie-sub-hero-inner {
  max-width: 1180px;
  margin: 0 auto;
}

.axie-sub-hero-head {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 40px;
  align-items: center;
}
@media (max-width: 720px) {
  .axie-sub-hero-head {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

.axie-sub-hero-left {
  min-width: 0;
}

.axie-sub-hero-title {
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: clamp(40px, 5.5vw, 78px);
  line-height: 0.95;
  letter-spacing: -0.035em;
  margin: 0 0 14px;
  color: var(--axie-ink);
  font-variation-settings: "wdth" 95;
  text-wrap: balance;
}
.axie-sub-hero-title em {
  font-style: normal;
  background: linear-gradient(135deg, var(--axie-orange) 0%, var(--axie-pink-deep) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  filter: drop-shadow(2px 2px 0 rgba(var(--axie-ink-rgb), 0.18));
}

.axie-sub-hero-desc {
  font-family: var(--axie-f-body);
  font-size: 17px;
  font-weight: 500;
  color: var(--axie-ink-soft);
  margin: 0 0 16px;
  max-width: 56ch;
  line-height: 1.5;
}

.axie-sub-hero-meta {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-family: var(--axie-f-mono);
  font-size: 11px;
  font-weight: 600;
  color: var(--axie-ink-soft);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.axie-sub-hero-meta strong {
  color: var(--axie-ink);
  font-weight: 700;
}

/* ─── Breadcrumb chips ─── */
.axie-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 22px;
  font-family: var(--axie-f-mono);
  font-size: 11px;
  font-weight: 500;
  color: var(--axie-ink-soft);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.axie-breadcrumb a {
  padding: 5px 11px;
  background: var(--axie-paper-2);
  border: var(--axie-outline-thin);
  border-radius: var(--axie-radius-pill);
  color: var(--axie-ink);
  box-shadow: 2px 2px 0 var(--axie-shadow-col);
  text-decoration: none;
  transition: transform 0.12s ease, box-shadow 0.12s ease, background 0.12s ease;
}
.axie-breadcrumb a:hover {
  transform: translate(-1px, -1px);
  box-shadow: 3px 3px 0 var(--axie-shadow-col);
  background: var(--axie-sky);
  color: var(--axie-ink);
}
.axie-breadcrumb .sep {
  color: var(--axie-ink-dim);
  font-size: 14px;
}
.axie-breadcrumb .current {
  padding: 5px 11px;
  background: var(--axie-pink);
  border: var(--axie-outline-thin);
  border-radius: var(--axie-radius-pill);
  color: var(--axie-ink);
  box-shadow: 2px 2px 0 var(--axie-shadow-col);
}

/* Zendesk's {{breadcrumbs}} helper outputs <ol class="breadcrumbs"><li><a>...</a></li>...</ol>.
   Hide it by default — most pages render our own breadcrumb HTML directly.
   But .axie-breadcrumb--auto pages (section, article) DO use the helper, so
   re-style it as sticker chips inside that wrapper. */
ol.breadcrumbs {
  display: none;
}

.axie-breadcrumb--auto ol.breadcrumbs {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  padding: 0;
  margin: 0;
  list-style: none;
  /* Override Copenhagen's `li + li::before { content: '>' }` from _breadcrumbs.scss
     with our own styled separator. */
  /* Each link → sticker chip (matches our hand-rolled .axie-breadcrumb a) */
  /* The last item (current page) — pink fill, no link */
}
.axie-breadcrumb--auto ol.breadcrumbs li {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  /* Reset Copenhagen's `>` separator before our custom one */
  max-width: none;
  overflow: visible;
}
.axie-breadcrumb--auto ol.breadcrumbs li + li::before {
  content: "/";
  color: var(--axie-ink-dim);
  font-size: 14px;
  margin: 0 4px 0 -4px;
}
.axie-breadcrumb--auto ol.breadcrumbs li a {
  padding: 5px 11px;
  background: var(--axie-paper-2);
  border: var(--axie-outline-thin);
  border-radius: var(--axie-radius-pill);
  color: var(--axie-ink) !important;
  box-shadow: 2px 2px 0 var(--axie-shadow-col);
  text-decoration: none;
  font-family: var(--axie-f-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  transition: transform 0.12s ease, box-shadow 0.12s ease, background 0.12s ease;
}
.axie-breadcrumb--auto ol.breadcrumbs li a:hover {
  transform: translate(-1px, -1px);
  box-shadow: 3px 3px 0 var(--axie-shadow-col);
  background: var(--axie-sky);
  color: var(--axie-ink) !important;
}
.axie-breadcrumb--auto ol.breadcrumbs li:last-child a {
  background: var(--axie-pink);
}
.axie-breadcrumb--auto ol.breadcrumbs li:last-child a:hover {
  background: var(--axie-pink);
  transform: none;
}

/* ─── Body wrap — cream paper with dot-grain ─── */
.axie-body-wrap {
  background: var(--axie-paper);
  padding: 56px 32px 64px;
  background-image: radial-gradient(rgba(var(--axie-ink-rgb), 0.04) 1px, transparent 1px);
  background-size: 22px 22px;
}
@media (max-width: 720px) {
  .axie-body-wrap {
    padding: 36px 24px 44px;
  }
}

.axie-body-grid {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 36px;
  align-items: start;
}
@media (max-width: 920px) {
  .axie-body-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}

/* Reverse variant — main left, sidebar right (used on article + request detail) */
.axie-body-grid-reverse {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 48px;
  align-items: start;
}
@media (max-width: 920px) {
  .axie-body-grid-reverse {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}

/* Single-column body for narrow forms (contact, profile-modal-host) */
.axie-body-narrow {
  max-width: 880px;
  margin: 0 auto;
}

/* Mobile: reorder so main content comes BEFORE sidebar (per WORKING_NOTES rule) */
@media (max-width: 920px) {
  .axie-body-grid .axie-main,
  .axie-body-grid-reverse .axie-main {
    order: 1;
  }
  .axie-body-grid .axie-side-nav,
  .axie-body-grid-reverse .axie-side-nav {
    order: 2;
  }
}
/* ─── Sticker sidebar ─── */
.axie-side-nav {
  background: var(--axie-paper-2);
  border: var(--axie-outline);
  border-radius: var(--axie-radius-xl);
  box-shadow: 5px 5px 0 var(--axie-shadow-col);
  padding: 22px;
  position: sticky;
  top: 92px;
  /* MUST disable sticky on mobile or sidebar overlaps main during scroll
     (per WORKING_NOTES rule). */
}
@media (max-width: 920px) {
  .axie-side-nav {
    position: static !important;
  }
}
.axie-side-nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.axie-side-nav li {
  border-bottom: 2px dashed rgba(var(--axie-ink-rgb), 0.18);
}
.axie-side-nav li:last-child {
  border-bottom: 0;
}
.axie-side-nav a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 4px;
  font-family: var(--axie-f-body);
  font-size: 14px;
  font-weight: 500;
  color: var(--axie-ink);
  text-decoration: none;
  transition: color 0.15s ease, padding-left 0.15s ease;
  /* Active item — both `.current` (CSS legacy) and `.is-current` (template).
     Arrow indicator is absolute-positioned so it doesn't disturb the flex layout
     (was getting pushed to one end via space-between, creating a huge gap). */
}
.axie-side-nav a:hover {
  color: var(--axie-pink-deep);
  padding-left: 6px;
}
.axie-side-nav a.current, .axie-side-nav a.is-current {
  color: var(--axie-ink);
  font-weight: 700;
  padding-left: 18px;
}
.axie-side-nav a.current::before, .axie-side-nav a.is-current::before {
  content: "▸";
  color: var(--axie-red);
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 13px;
  line-height: 1;
}

.axie-side-group {
  font-family: var(--axie-f-mono);
  font-size: 10px;
  font-weight: 600;
  color: var(--axie-ink-soft);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.axie-side-group + ul {
  margin-bottom: 18px;
}

.axie-side-count {
  font-family: var(--axie-f-mono);
  font-size: 10px;
  font-weight: 600;
  padding: 2px 7px;
  background: var(--axie-paper);
  border: 1.5px solid var(--axie-ink);
  border-radius: var(--axie-radius-pill);
  color: var(--axie-ink-soft);
}

/* ─── Main column reset ─── */
.axie-main {
  min-width: 0;
}

.axie-main > section {
  margin-bottom: 56px;
}

.axie-main > section:last-of-type {
  margin-bottom: 0;
}

/* Stuck card moved INSIDE the main content column (category + section pages) so
   it lines up with the article list instead of being a page-centered band that's
   offset from the sidebar (v1.0.17). Strip the standalone section's full-bleed
   padding + grain bg (already on paper here) and let the inner card fill the
   column. The standalone .axie-stuck on the other templates is untouched. */
.axie-main > .axie-stuck {
  margin-top: 48px; /* article page: gap below <article> (collapses w/ section margin on cat/section) */
  padding: 0;
  background: none;
}

.axie-main > .axie-stuck > .axie-stuck-inner {
  max-width: none;
  margin: 0;
}

/* ─── Sub-topic preview cards (used on category page) ─── */
.axie-sub-grid {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
@media (max-width: 560px) {
  .axie-sub-grid {
    grid-template-columns: 1fr;
  }
}

.axie-sub-card {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 14px;
  padding: 16px 20px;
  background: var(--axie-paper-2);
  border: var(--axie-outline);
  border-radius: var(--axie-radius-lg);
  box-shadow: 4px 4px 0 var(--axie-shadow-col);
  color: var(--axie-ink);
  text-decoration: none;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.axie-sub-card:hover {
  transform: translate(-2px, -2px);
  box-shadow: 6px 6px 0 var(--axie-shadow-col);
  color: var(--axie-ink);
}
.axie-sub-card .sub-card-title {
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: -0.005em;
  line-height: 1.1;
  font-variation-settings: "wdth" 95;
}
.axie-sub-card .sub-card-meta {
  font-family: var(--axie-f-mono);
  font-size: 11px;
  font-weight: 500;
  color: var(--axie-ink-soft);
  margin-top: 3px;
}
.axie-sub-card .sub-card-arr {
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 20px;
  color: var(--axie-ink);
  transition: transform 0.15s ease;
}
.axie-sub-card:hover .sub-card-arr {
  transform: translateX(4px);
}

/* Per-card pastel tints — cycle 4 colors */
.axie-sub-grid li:nth-child(4n+1) .axie-sub-card {
  background: linear-gradient(180deg, rgba(255, 143, 177, 0.18), var(--axie-paper-2));
}

.axie-sub-grid li:nth-child(4n+2) .axie-sub-card {
  background: linear-gradient(180deg, rgba(168, 224, 255, 0.18), var(--axie-paper-2));
}

.axie-sub-grid li:nth-child(4n+3) .axie-sub-card {
  background: linear-gradient(180deg, rgba(146, 229, 189, 0.2), var(--axie-paper-2));
}

.axie-sub-grid li:nth-child(4n+4) .axie-sub-card {
  background: linear-gradient(180deg, rgba(183, 158, 245, 0.2), var(--axie-paper-2));
}

/* ─── Per-section block (heading + article list) ─── */
.axie-section-block {
  /* All styling comes from .axie-sec-rule + .axie-art-list children */
}

.axie-sec-rule h2 a {
  color: inherit;
  text-decoration: none;
}
.axie-sec-rule h2 a:hover {
  color: var(--axie-pink-deep);
}

/* ─── Article list (sticker container with rows) ─── */
.axie-art-list {
  list-style: none;
  padding: 0;
  margin: 0;
  background: var(--axie-paper-2);
  border: var(--axie-outline);
  border-radius: var(--axie-radius-xl);
  box-shadow: 5px 5px 0 var(--axie-shadow-col);
  overflow: hidden;
  /* Cycle mark color through 3 pastels */
}
.axie-art-list li {
  border-bottom: 2px dashed rgba(var(--axie-ink-rgb), 0.18);
}
.axie-art-list li:last-child {
  border-bottom: 0;
}
.axie-art-list a {
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  align-items: center;
  gap: 14px;
  padding: 16px 22px;
  color: var(--axie-ink);
  text-decoration: none;
  transition: background 0.12s ease, padding-left 0.15s ease;
}
.axie-art-list a:hover {
  background: rgba(255, 143, 177, 0.12);
  padding-left: 28px;
  color: var(--axie-ink);
}
.axie-art-list .art-mark {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  background: var(--axie-paper);
  border: var(--axie-outline-thin);
  border-radius: 50%;
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 13px;
  color: var(--axie-ink);
  box-shadow: 2px 2px 0 var(--axie-shadow-col);
  flex-shrink: 0;
}
.axie-art-list li:nth-child(3n+1) .art-mark {
  background: var(--axie-mint);
}
.axie-art-list li:nth-child(3n+2) .art-mark {
  background: var(--axie-sky);
}
.axie-art-list li:nth-child(3n+3) .art-mark {
  background: var(--axie-yellow);
}
.axie-art-list .art-title {
  font-family: var(--axie-f-body);
  font-weight: 500;
  font-size: 15px;
  color: var(--axie-ink);
  line-height: 1.4;
}
.axie-art-list .art-tag {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 9px;
  border: var(--axie-outline-thin);
  border-radius: var(--axie-radius-pill);
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  box-shadow: 2px 2px 0 var(--axie-shadow-col);
  color: var(--axie-ink);
  font-variation-settings: "wdth" 95;
}
.axie-art-list .art-tag.promoted {
  background: var(--axie-yellow);
}
.axie-art-list .art-tag.first {
  background: var(--axie-red);
  color: var(--axie-paper-2);
}
.axie-art-list .art-tag.urgent {
  background: var(--axie-red);
  color: var(--axie-paper-2);
}
.axie-art-list .art-tag.new {
  background: var(--axie-mint);
}
.axie-art-list .art-tag.internal {
  background: var(--axie-paper);
  padding: 3px 6px;
}
.axie-art-list .art-tag-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--axie-ink);
}
.axie-art-list .art-arr {
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 20px;
  color: var(--axie-ink);
  transition: transform 0.15s ease;
}
.axie-art-list a:hover .art-arr {
  transform: translateX(4px);
  color: var(--axie-pink-deep);
}

/* ─── See-all sticker button (below article list) ─── */
.axie-see-all-row {
  margin-top: 16px;
  display: flex;
}

.axie-see-all-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  background: var(--axie-paper-2);
  border: var(--axie-outline);
  border-radius: var(--axie-radius-md);
  box-shadow: 3px 3px 0 var(--axie-shadow-col);
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--axie-ink);
  text-decoration: none;
  font-variation-settings: "wdth" 95;
  transition: transform 0.12s ease, box-shadow 0.12s ease, background 0.12s ease;
}
.axie-see-all-link:hover {
  transform: translate(-1px, -1px);
  box-shadow: 4px 4px 0 var(--axie-shadow-col);
  background: var(--axie-mint);
  color: var(--axie-ink);
}

/* Hide Copenhagen's legacy elements */
.container-divider,
.sub-nav,
.search-container,
.category-container,
.section-container,
.section-tree,
.section-list,
.page-header {
  display: none;
}

/***** Category pages *****/
.category-container {
  display: flex;
  justify-content: flex-end;
}
.category-content {
  flex: 1;
  max-width: 100%;
}
@media (min-width: 1024px) {
  .category-content {
    flex: 0 0 80%;
  }
}

.section-tree {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media (min-width: 768px) {
  .section-tree {
    flex-direction: row;
  }
}
.section-tree .section {
  flex: initial;
  max-width: 100%;
}
@media (min-width: 768px) {
  .section-tree .section {
    flex: 0 0 45%; /* Two columns for tablet and desktop. Leaving 5% separation between columns */
  }
}
.section-tree-title {
  margin-bottom: 0;
  font-size: 18px;
  font-weight: 600;
}
.section-tree-title a {
  color: #2F3941;
}
.section-tree .see-all-articles {
  display: block;
  padding: 15px 0;
}

.article-list-item {
  font-size: 16px;
  padding: 15px 0;
  text-overflow: ellipsis;
  overflow: hidden;
}
.article-list-item a {
  color: #2F3941;
}

.icon-star {
  color: #17494D;
  font-size: 18px;
}

/***** Section pages *****/
.section-container {
  display: flex;
  justify-content: flex-end;
}
.section-content {
  flex: 1;
  max-width: 100%;
}
@media (min-width: 1024px) {
  .section-content {
    flex: 0 0 80%;
  }
}
.section-list {
  margin: 40px 0;
}

.section-list-item {
  border-bottom: 1px solid #ddd;
  font-size: 16px;
  padding: 15px 0;
}
.section-list-item:first-child {
  border-top: 1px solid #ddd;
}
.section-list-item a {
  align-items: center;
  color: #2F3941;
  display: flex;
  justify-content: space-between;
}

.see-all-sections-trigger {
  cursor: pointer;
  display: block;
  padding: 15px;
  text-align: center;
}
.see-all-sections-trigger[aria-hidden=true] {
  display: none;
}

/* ============================================================
   Axie Support — Article page (article_page.hbs)
   ============================================================
   Long-form prose body, sticker callouts, helpful widget,
   related articles container, divider, return-to-top.

   Sub-hero, breadcrumb, body-grid, side-nav come from
   _axie-sub-pages.scss.
   ============================================================ */
/* Article-specific sub-hero tweaks (sky+yellow pools vs default pink+orange) */
.axie-sub-hero--article .axie-sub-hero-bg {
  background: radial-gradient(ellipse 40% 60% at 90% 30%, rgba(168, 224, 255, 0.18), transparent 70%), radial-gradient(ellipse 40% 50% at 10% 80%, rgba(255, 200, 90, 0.14), transparent 70%);
}

.axie-article-title {
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: clamp(32px, 4.5vw, 56px);
  line-height: 1.05;
  letter-spacing: -0.025em;
  margin: 0 0 18px;
  color: var(--axie-ink);
  font-variation-settings: "wdth" 95;
  max-width: 22ch;
}

.axie-article-internal {
  display: inline-block;
  margin-left: 10px;
  font-size: 0.6em;
  vertical-align: middle;
}

.axie-article-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  font-family: var(--axie-f-mono);
  font-size: 11px;
  font-weight: 500;
  color: var(--axie-ink-soft);
  letter-spacing: 0.04em;
}
.axie-article-meta .sep {
  color: var(--axie-ink-dim);
}
.axie-article-meta strong {
  color: var(--axie-ink);
  font-weight: 700;
}
.axie-article-meta .axie-meta-link {
  color: var(--axie-ink) !important;
  border-bottom: 1.5px solid var(--axie-ink);
  padding-bottom: 1px;
  text-decoration: none;
}
.axie-article-meta .axie-meta-link:hover {
  color: var(--axie-pink-deep) !important;
  border-color: var(--axie-pink-deep);
}

/* Sticker tag (Popular, Read first, etc.) inside the meta row */
.axie-meta-tag {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 11px;
  border: var(--axie-outline-thin);
  border-radius: var(--axie-radius-pill);
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  box-shadow: 2px 2px 0 var(--axie-shadow-col);
  color: var(--axie-ink);
  font-variation-settings: "wdth" 95;
  flex-shrink: 0;
  background: var(--axie-yellow);
}
.axie-meta-tag::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--axie-ink);
}
.axie-meta-tag.popular {
  background: var(--axie-yellow);
}
.axie-meta-tag.first {
  background: var(--axie-red);
  color: var(--axie-paper-2);
}
.axie-meta-tag.urgent {
  background: var(--axie-red);
  color: var(--axie-paper-2);
}
.axie-meta-tag.new {
  background: var(--axie-mint);
}

.axie-meta-tag-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--axie-ink);
}

/* ─── Article prose body ─── */
.axie-article {
  max-width: 100%;
}

.axie-prose {
  max-width: 68ch;
  font-family: var(--axie-f-body);
  font-size: 17px;
  line-height: 1.7;
  color: var(--axie-ink);
  /* Copenhagen's base resets `ul { list-style: none }` (styles/_base.scss) and our
     `.axie-prose ul` only set padding — never restoring the marker — so writer
     bullet/number lists published BLANK. Restore them explicitly here. */
  /* Direct-child combinator — nested UL inside OL gets bullets not numbers
     (per PayMoji v1.1.5 lesson). */
  /* ─── IMAGE HANDLING (per PayMoji WORKING_NOTES) ─── */
  /* Universal default — ALL prose images cap at container width, preserve aspect,
     and get a gentle rounded corner so writer-uploaded screenshots feel polished. */
  /* Tiny inline icons (CKEditor's published .wysiwyg-image-resized) keep crisp
     corners — 12px radius eats into ~16-24px icons and looks awkward. */
  /* Target the published class .wysiwyg-image-resized, NOT .image-inline (editor-only) */
  /* Block content images via <figure class="image"> */
  /* CKEditor alignment classes on figure */
  /* Zendesk alignment classes on parent <p> — also need width: auto !important
     to avoid mysterious image shrinkage (per PayMoji v1.2.16 lesson) */
  /* Kill writer's float (per WORKING_NOTES) */
  /* Don't auto-border article images */
  /* Tables */
  /* HR */
}
.axie-prose > * + * {
  margin-top: 1.1em;
}
.axie-prose h1, .axie-prose h2, .axie-prose h3, .axie-prose h4, .axie-prose h5, .axie-prose h6 {
  font-family: var(--axie-f-display);
  font-weight: 900;
  text-transform: uppercase;
  color: var(--axie-ink);
  font-variation-settings: "wdth" 95;
  line-height: 1.15;
}
.axie-prose h2 {
  font-size: 28px;
  letter-spacing: -0.015em;
  margin: 2.2em 0 0.6em;
  padding-bottom: 10px;
  border-bottom: 2px dashed rgba(var(--axie-ink-rgb), 0.22);
}
.axie-prose h2:first-child {
  margin-top: 0;
}
.axie-prose h3 {
  font-size: 21px;
  font-weight: 800;
  letter-spacing: -0.01em;
  margin: 1.8em 0 0.5em;
}
.axie-prose h4 {
  font-size: 18px;
  margin: 1.6em 0 0.4em;
}
.axie-prose p {
  margin: 0;
}
.axie-prose ul, .axie-prose ol {
  margin: 0;
  padding-left: 1.4em;
}
.axie-prose ul {
  list-style: disc outside;
}
.axie-prose ol {
  list-style: decimal outside;
}
.axie-prose ul ul {
  list-style: circle outside;
}
.axie-prose ul ul ul {
  list-style: square outside;
}
.axie-prose ol ol {
  list-style: lower-alpha outside;
}
.axie-prose ul > li {
  margin: 0.5em 0;
  padding-left: 4px;
}
.axie-prose ul > li::marker {
  color: var(--axie-pink-deep);
}
.axie-prose ol > li {
  margin: 0.5em 0;
  padding-left: 4px;
}
.axie-prose ol > li::marker {
  color: var(--axie-ink);
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-variation-settings: "wdth" 95;
}
.axie-prose strong {
  color: var(--axie-ink);
  font-weight: 700;
}
.axie-prose em {
  color: var(--axie-ink-soft);
}
.axie-prose a {
  color: var(--axie-pink-deep);
  border-bottom: 2px solid var(--axie-pink-deep);
  padding-bottom: 1px;
  text-decoration: none;
  transition: color 0.15s ease, border-color 0.15s ease, background 0.15s ease;
}
.axie-prose a:hover {
  color: var(--axie-ink);
  background: var(--axie-yellow);
  border-color: var(--axie-ink);
}
.axie-prose blockquote {
  margin: 0;
  padding: 16px 22px;
  background: var(--axie-paper-2);
  border: var(--axie-outline);
  border-left: 8px solid var(--axie-magenta);
  border-radius: var(--axie-radius-md);
  box-shadow: 4px 4px 0 var(--axie-shadow-col);
  font-family: var(--axie-f-body);
  font-size: 16px;
  font-style: italic;
  color: var(--axie-ink-soft);
  transform: rotate(-0.3deg);
}
.axie-prose blockquote a {
  color: var(--axie-magenta);
  border-color: var(--axie-magenta);
}
.axie-prose code {
  font-family: var(--axie-f-mono);
  font-size: 0.88em;
  padding: 2px 7px;
  /* Horizontal breathing room so the chip doesn't butt against adjacent words,
     commas, or back-to-back chips (the 1.5px right shadow made it look glued). */
  margin: 0 0.32em;
  background: var(--axie-paper-2);
  border: 1.5px solid var(--axie-ink);
  border-radius: var(--axie-radius-sm);
  color: var(--axie-ink);
  box-shadow: 1.5px 1.5px 0 var(--axie-ink);
}
.axie-prose pre {
  background: var(--axie-paper-2);
  border: var(--axie-outline);
  border-radius: var(--axie-radius-md);
  padding: 16px 18px;
  overflow-x: auto;
  font-family: var(--axie-f-mono);
  font-size: 13px;
  line-height: 1.5;
  box-shadow: 4px 4px 0 var(--axie-shadow-col);
}
.axie-prose pre code {
  background: none;
  border: 0;
  box-shadow: none;
  padding: 0;
  margin: 0;
}
.axie-prose img {
  max-width: 100%;
  height: auto;
  border-radius: var(--axie-radius-md);
}
.axie-prose img.wysiwyg-image-resized[style*="width:"][style*=px] {
  border-radius: 4px;
}
.axie-prose img.wysiwyg-image-resized {
  display: inline-block;
  vertical-align: middle;
  height: auto;
  /* Respect inline width attr from CKEditor */
}
.axie-prose figure.image {
  margin: 1.4em 0;
}
.axie-prose figure.image img {
  display: block;
  max-width: 100%;
  height: auto;
  border: 0;
  border-radius: var(--axie-radius-md);
}
.axie-prose figure.image figcaption {
  margin-top: 8px;
  font-family: var(--axie-f-body);
  font-size: 13px;
  color: var(--axie-ink-soft);
  text-align: center;
}
.axie-prose figure.image.image-style-align-center,
.axie-prose figure.image.image-style-block-align-center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.axie-prose figure.image.image-style-align-right,
.axie-prose figure.image.image-style-block-align-right {
  float: right;
  margin-left: 24px;
}
.axie-prose figure.image.image-style-align-left,
.axie-prose figure.image.image-style-block-align-left {
  float: left;
  margin-right: 24px;
}
.axie-prose p[style*="text-align: center"] img,
.axie-prose p[style*="text-align:center"] img,
.axie-prose p.wysiwyg-text-align-center img {
  width: auto !important;
  margin: 0 auto !important;
  display: block !important;
  max-width: 100%;
  height: auto;
}
.axie-prose p[style*="text-align: right"] img,
.axie-prose p.wysiwyg-text-align-right img {
  margin-left: auto !important;
  display: block !important;
}
.axie-prose img {
  float: none !important;
}
.axie-prose img {
  border: 0;
}
.axie-prose table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.4em 0;
  background: var(--axie-paper-2);
  border: var(--axie-outline);
  border-radius: var(--axie-radius-md);
  overflow: hidden;
  box-shadow: 4px 4px 0 var(--axie-shadow-col);
}
.axie-prose table th, .axie-prose table td {
  padding: 12px 14px;
  border-bottom: 1.5px solid rgba(var(--axie-ink-rgb), 0.18);
  text-align: left;
}
.axie-prose table th {
  background: var(--axie-paper-3);
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-variation-settings: "wdth" 95;
}
.axie-prose table tr:last-child td {
  border-bottom: 0;
}
.axie-prose hr {
  margin: 2em 0;
  border: 0;
  height: 2px;
  background: repeating-linear-gradient(90deg, var(--axie-ink) 0 6px, transparent 6px 12px);
}

/* ─── Accordion / collapsible panels (4 writer markup patterns,
     wired in document_head.hbs JS shim) ─── */
.axie-prose details {
  margin: 1.2em 0;
  border: var(--axie-outline);
  border-radius: var(--axie-radius-md);
  background: var(--axie-paper-2);
  box-shadow: 3px 3px 0 var(--axie-shadow-col);
  /* Breathing room above the answer's first line so it isn't cramped right under
     the question. Only the first content block (immediately after summary). */
}
.axie-prose details summary {
  padding: 12px 18px;
  cursor: pointer;
  font-family: var(--axie-f-display);
  font-weight: 700;
  font-size: 15px;
  color: var(--axie-ink);
  list-style: none;
  position: relative;
  font-variation-settings: "wdth" 95;
}
.axie-prose details summary::-webkit-details-marker {
  display: none;
}
.axie-prose details summary::after {
  content: "+";
  position: absolute;
  right: 18px;
  top: 12px;
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 18px;
  color: var(--axie-ink);
  transition: transform 0.2s ease;
}
.axie-prose details[open] summary::after {
  content: "−";
}
.axie-prose details > *:not(summary) {
  padding: 0 18px 16px;
}
.axie-prose details > summary + * {
  padding-top: 16px;
}

.axie-prose .collapsible {
  margin: 1.2em 0;
  border: var(--axie-outline);
  border-radius: var(--axie-radius-md);
  background: var(--axie-paper-2);
  box-shadow: 3px 3px 0 var(--axie-shadow-col);
}
.axie-prose .collapsible .collapsible-title {
  padding: 12px 18px;
  font-family: var(--axie-f-display);
  font-weight: 700;
  font-size: 15px;
  color: var(--axie-ink);
  font-variation-settings: "wdth" 95;
  position: relative;
}
.axie-prose .collapsible .collapsible-title::after {
  content: "+";
  position: absolute;
  right: 18px;
  top: 12px;
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 18px;
}
.axie-prose .collapsible .collapsible-content {
  display: none;
  padding: 16px 18px 16px;
}
.axie-prose .collapsible.is-open .collapsible-content {
  display: block;
}
.axie-prose .collapsible.is-open .collapsible-title::after {
  content: "−";
}

/* Adjacent-sibling accordion (PayMoji writers' pattern) */
.axie-prose .accordion {
  margin: 1.2em 0 0;
  padding: 12px 18px;
  background: var(--axie-paper-2);
  border: var(--axie-outline);
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-radius: var(--axie-radius-md);
  box-shadow: 3px 3px 0 var(--axie-shadow-col);
  font-family: var(--axie-f-display);
  font-weight: 700;
  font-size: 15px;
  color: var(--axie-ink);
  font-variation-settings: "wdth" 95;
  position: relative;
}
.axie-prose .accordion::after {
  content: "+";
  position: absolute;
  right: 18px;
  top: 12px;
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 18px;
}
.axie-prose .accordion.is-open {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  margin-bottom: 0;
}
.axie-prose .accordion.is-open::after {
  content: "−";
}
.axie-prose .accordion.is-open + .panel {
  display: block;
}

.axie-prose .accordion + .panel {
  display: none;
  background: var(--axie-paper-2);
  border: var(--axie-outline);
  border-top: 0;
  border-radius: 0 0 var(--axie-radius-md) var(--axie-radius-md);
  padding: 16px 18px 16px;
  margin-top: 0;
  margin-bottom: 1.2em;
  box-shadow: 3px 3px 0 var(--axie-shadow-col);
}

/* ─── Helpful widget (sticker card with vote buttons) ─── */
.axie-helpful {
  margin: 56px 0 0;
  max-width: 68ch;
  padding: 24px 28px;
  background: var(--axie-paper-2);
  border: var(--axie-outline);
  border-radius: var(--axie-radius-xl);
  box-shadow: 5px 5px 0 var(--axie-shadow-col);
  text-align: center;
  transform: rotate(-0.3deg);
}

.axie-helpful-q {
  display: block;
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 18px;
  text-transform: uppercase;
  letter-spacing: -0.005em;
  color: var(--axie-ink);
  margin-bottom: 14px;
  font-variation-settings: "wdth" 95;
}

.axie-helpful-row {
  display: inline-flex;
  gap: 12px;
  margin-bottom: 14px;
}

/* {{vote 'up'}} / {{vote 'down'}} render as <button> with our class.
   Style with the sticker-button recipe + specific colors per direction. */
.axie-vote {
  width: auto !important;
  height: auto !important;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 22px;
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  border: var(--axie-outline);
  border-radius: var(--axie-radius-md);
  box-shadow: 3px 3px 0 var(--axie-shadow-col);
  cursor: pointer;
  font-variation-settings: "wdth" 95;
  color: var(--axie-ink);
  transition: transform 0.12s ease, box-shadow 0.12s ease;
}
.axie-vote:hover {
  transform: translate(-1px, -1px);
  box-shadow: 4px 4px 0 var(--axie-shadow-col);
}
.axie-vote:active {
  transform: translate(2px, 2px);
  box-shadow: 2px 2px 0 var(--axie-shadow-col);
}
.axie-vote.is-selected {
  transform: translate(2px, 2px);
  box-shadow: 2px 2px 0 var(--axie-shadow-col);
  background: var(--axie-ink);
  color: var(--axie-paper-2);
}

.axie-vote-up {
  background: var(--axie-mint);
}

.axie-vote-up::before {
  content: "👍";
}

.axie-vote-down {
  background: var(--axie-pink);
}

.axie-vote-down::before {
  content: "👎";
}

.axie-helpful-count {
  display: block;
  font-family: var(--axie-f-mono);
  font-size: 11px;
  font-weight: 500;
  color: var(--axie-ink-soft);
  letter-spacing: 0.04em;
}

.axie-vote-label {
  display: inline;
}

/* ─── Divider ─── */
.axie-divider {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 56px 0 32px;
  max-width: 68ch;
}
.axie-divider .line {
  flex: 1;
  height: 2px;
  background: repeating-linear-gradient(90deg, var(--axie-ink) 0 6px, transparent 6px 12px);
}
.axie-divider .mark {
  font-family: var(--axie-f-display);
  font-size: 20px;
  color: var(--axie-pink-deep);
}

/* ─── Related articles wrapper — Zendesk renders <h3>Related articles</h3> + <ul> ─── */
.axie-related-wrap {
  max-width: 68ch;
  margin-bottom: 32px;
}
.axie-related-wrap h3 {
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 22px;
  text-transform: uppercase;
  letter-spacing: -0.005em;
  color: var(--axie-ink);
  margin: 0 0 18px;
  font-variation-settings: "wdth" 95;
}
.axie-related-wrap ul {
  list-style: none;
  padding: 0;
  margin: 0;
  background: var(--axie-paper-2);
  border: var(--axie-outline);
  border-radius: var(--axie-radius-xl);
  box-shadow: 5px 5px 0 var(--axie-shadow-col);
  overflow: hidden;
}
.axie-related-wrap li {
  border-bottom: 2px dashed rgba(var(--axie-ink-rgb), 0.18);
}
.axie-related-wrap li:last-child {
  border-bottom: 0;
}
.axie-related-wrap li a {
  display: block;
  padding: 14px 22px;
  color: var(--axie-ink);
  font-family: var(--axie-f-body);
  font-weight: 500;
  font-size: 14.5px;
  text-decoration: none;
  transition: background 0.12s ease, padding-left 0.15s ease;
}
.axie-related-wrap li a:hover {
  background: rgba(255, 143, 177, 0.12);
  padding-left: 28px;
  color: var(--axie-pink-deep);
}

/* ─── Article tags + attachments ─── */
.axie-article-tags,
.axie-article-attachments {
  max-width: 68ch;
  margin-top: 28px;
}
.axie-article-tags .lab,
.axie-article-attachments .lab {
  font-family: var(--axie-f-mono);
  font-size: 11px;
  font-weight: 600;
  color: var(--axie-ink-soft);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin: 0 0 10px;
}
.axie-article-tags ul,
.axie-article-attachments ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.axie-article-tags li a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 11px;
  background: var(--axie-paper-2);
  color: var(--axie-ink);
  border: var(--axie-outline-thin);
  border-radius: var(--axie-radius-pill);
  box-shadow: 2px 2px 0 var(--axie-shadow-col);
  font-family: var(--axie-f-body);
  font-size: 12px;
  font-weight: 500;
  color: var(--axie-ink);
  text-decoration: none;
}
.axie-article-tags li a:hover {
  background: var(--axie-mint);
}

.axie-article-attachments li a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: var(--axie-paper-2);
  border: var(--axie-outline-thin);
  border-radius: var(--axie-radius-md);
  box-shadow: 3px 3px 0 var(--axie-shadow-col);
  font-family: var(--axie-f-body);
  font-size: 13px;
  color: var(--axie-ink);
  text-decoration: none;
  transition: transform 0.12s ease, box-shadow 0.12s ease, background 0.12s ease;
}
.axie-article-attachments li a:hover {
  transform: translate(-1px, -1px);
  box-shadow: 4px 4px 0 var(--axie-shadow-col);
  background: var(--axie-mint);
}
.axie-article-attachments li a .att-name {
  font-weight: 600;
}
.axie-article-attachments li a .att-size {
  font-family: var(--axie-f-mono);
  font-size: 11px;
  color: var(--axie-ink-soft);
}

/* ─── Return to top ─── */
.axie-return-top {
  margin-top: 32px;
  text-align: center;
}
.axie-return-top a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  font-family: var(--axie-f-display);
  font-weight: 700;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--axie-ink-soft);
  text-decoration: none;
  font-variation-settings: "wdth" 95;
}
.axie-return-top a:hover {
  color: var(--axie-pink-deep);
}

/* Hide legacy Copenhagen article shell — our .axie-article replaces it */
.article-container,
.article-sidebar:not(.axie-side-nav),
article.article:not(.axie-article),
.article-header,
.article-info,
.article-content,
.article-footer,
.article-relatives,
.article-comments {
  display: none;
}

/***** Attachments *****/
/* Styles attachments inside posts, articles and comments */
.attachments .attachment-item {
  padding-left: 20px;
  position: relative;
  margin-bottom: 10px;
}
.attachments .attachment-item:last-child {
  margin-bottom: 0;
}
.attachments .attachment-item .attachment-icon {
  color: #2F3941;
  left: 0;
  position: absolute;
  top: 5px;
}
[dir=rtl] .attachments .attachment-item {
  padding-left: 0;
  padding-right: 20px;
}
[dir=rtl] .attachments .attachment-item .attachment-icon {
  left: auto;
  right: 0;
}

.upload-dropzone span {
  color: #5a6d7c;
}

/***** Social share links *****/
.share {
  padding: 0;
  white-space: nowrap;
}

.share li, .share a {
  display: inline-block;
}

.share li {
  height: 25px;
  width: 25px;
}

.share a {
  color: #5a6d7c;
}
.share a:hover {
  text-decoration: none;
  color: #17494D;
}
.share a svg {
  height: 18px;
  width: 18px;
  display: block;
}

/***** Comments *****/
/* Styles comments inside articles, posts and requests */
.comment {
  border-bottom: 1px solid #ddd;
  padding: 20px 0;
}
.comment-heading {
  margin-bottom: 5px;
  margin-top: 0;
  font-size: 18px;
  font-weight: 600;
}
.comment-overview {
  border-bottom: 1px solid #ddd;
  border-top: 1px solid #ddd;
  padding: 20px 0;
}
.comment-overview p {
  margin-top: 0;
}
.comment-callout {
  color: #5a6d7c;
  display: inline-block;
  font-size: 13px;
  margin-bottom: 0;
}
.comment-callout a {
  color: #1F73B7;
  text-decoration: underline;
}
.comment-callout a:visited {
  color: #9358B0;
}
.comment-callout a:hover, .comment-callout a:active, .comment-callout a:focus {
  color: #0F3554;
}
.comment-sorter {
  display: inline-block;
  float: right;
}
.comment-sorter .dropdown-toggle {
  color: #5a6d7c;
  font-size: 13px;
}
[dir=rtl] .comment-sorter {
  float: left;
}
.comment-wrapper {
  display: flex;
  position: relative;
}
.comment-wrapper.comment-official {
  border: 1px solid #17494D;
  padding: 40px 20px 20px;
}
@media (min-width: 768px) {
  .comment-wrapper.comment-official {
    padding-top: 20px;
  }
}
.comment-info {
  min-width: 0;
  padding-right: 20px;
  width: 100%;
}
[dir=rtl] .comment-info {
  padding-right: 0;
  padding-left: 20px;
}
.comment-author {
  align-items: flex-end;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .comment-author {
    justify-content: space-between;
  }
}
.comment-avatar {
  margin-right: 10px;
}
[dir=rtl] .comment-avatar {
  margin-left: 10px;
  margin-right: 0;
}
.comment-meta {
  flex: 1 1 auto;
}
.comment-labels {
  flex-basis: 100%;
}
@media (min-width: 768px) {
  .comment-labels {
    flex-basis: auto;
  }
}
.comment .status-label:not(.status-label-official) {
  margin-top: 10px;
}
@media (min-width: 768px) {
  .comment .status-label:not(.status-label-official) {
    margin-top: 0;
  }
}
.comment-form {
  display: flex;
  padding-top: 30px;
  word-wrap: break-word;
}
.comment-container {
  width: 100%;
}
.comment-form-controls {
  display: none;
  margin-top: 10px;
  text-align: left;
}
@media (min-width: 768px) {
  [dir=ltr] .comment-form-controls {
    text-align: right;
  }
}
.comment-form-controls input[type=submit] {
  margin-top: 15px;
}
@media (min-width: 1024px) {
  .comment-form-controls input[type=submit] {
    margin-left: 15px;
  }
  [dir=rtl] .comment-form-controls input[type=submit] {
    margin-left: 0;
    margin-right: 15px;
  }
}
.comment-form-controls input[type=checkbox] {
  margin-right: 5px;
}
.comment-form-controls input[type=checkbox] [dir=rtl] {
  margin-left: 5px;
}
.comment-ccs {
  display: none;
}
.comment-ccs + textarea {
  margin-top: 10px;
}
.comment-attachments {
  margin-top: 10px;
}
.comment-attachments a {
  color: #17494D;
}
.comment-body {
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  -webkit-hyphens: auto;
  word-break: break-word;
  word-wrap: break-word;
  display: flow-root;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  line-height: 1.6;
  overflow-x: auto;
}
.comment-body a {
  color: #1F73B7;
  text-decoration: underline;
}
.comment-body a:visited {
  color: #9358B0;
}
.comment-body a:hover, .comment-body a:active, .comment-body a:focus {
  color: #0F3554;
}
.comment-body img {
  height: auto;
  max-width: 100%;
}
.comment-body p > img.image-style-align-left {
  float: left;
  margin: 8px 20px 6px 0;
}
.comment-body p > img.image-style-align-right {
  float: right;
  margin: 8px 0px 6px 20px;
}
.comment-body p > img.image-style-block-align-right {
  margin-left: auto;
  margin-right: 0;
}
.comment-body p > img.image-style-block-align-left {
  margin-left: 0;
  margin-right: auto;
}
.comment-body figure.image {
  display: table;
  margin: 0 auto;
}
.comment-body figure.image > img {
  display: block;
  width: 100%;
}
.comment-body figure.image.image-style-align-left {
  float: left;
  margin: 8px 20px 6px 0;
}
.comment-body figure.image.image-style-align-right {
  float: right;
  margin: 8px 0px 6px 20px;
}
.comment-body figure.image.image-style-block-align-right {
  margin-left: auto;
  margin-right: 0;
}
.comment-body figure.image.image-style-block-align-left {
  margin-left: 0;
  margin-right: auto;
}
.comment-body figcaption {
  padding: 10px 0;
  font-size: 12px;
  text-align: center;
  background-color: #f2f2f2;
}
.comment-body ul,
.comment-body ol {
  padding-left: 20px;
  list-style-position: outside;
  margin: 20px 0 20px 20px;
}
[dir=rtl] .comment-body ul,
[dir=rtl] .comment-body ol {
  padding-right: 20px;
  padding-left: 0;
  margin-left: 0;
  margin-right: 20px;
}
.comment-body ul > ul,
.comment-body ol > ol,
.comment-body ol > ul,
.comment-body ul > ol,
.comment-body li > ul,
.comment-body li > ol {
  margin: 0;
}
.comment-body ul {
  list-style-type: disc;
}
.comment-body :not(pre) > code {
  background: #f7f7f7;
  border: 1px solid #ddd;
  border-radius: 3px;
  padding: 0 5px;
  margin: 0 2px;
}
.comment-body pre {
  background: #f7f7f7;
  border: 1px solid #ddd;
  border-radius: 3px;
  padding: 10px 15px;
  overflow: auto;
  white-space: pre;
  direction: ltr;
}
.comment-body blockquote {
  border-left: 1px solid #ddd;
  color: #5a6d7c;
  font-style: italic;
  padding: 0 15px;
}
.comment-mark-as-solved {
  display: inline-block;
}

/***** Vote *****/
/* Used in article comments, post comments and post */
.vote {
  display: flex;
  flex-direction: column;
  text-align: center;
}
.vote a:active, .vote a:hover, .vote a:focus {
  text-decoration: none;
}

.vote-sum {
  color: #5a6d7c;
  display: block;
  margin: 3px 0;
}
[dir=rtl] .vote-sum {
  direction: ltr;
  unicode-bidi: bidi-override;
}

.vote-up svg {
  transform: scale(1, -1);
}

.vote-up:hover,
.vote-down:hover {
  color: #17494D;
}

.vote-up, .vote-down {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: transparent;
  border: none;
  color: #5a6d7c;
  cursor: pointer;
  min-height: 35px;
  min-width: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.vote-voted {
  color: #17494D;
}

.vote-voted:hover {
  color: #000;
}

/***** Actions *****/
/* Styles admin and en user actions(edit, delete, change status) in comments and posts */
.actions {
  text-align: center;
  flex-shrink: 0; /*Avoid collapsing elements in Safari*/
}
.actions button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: transparent;
  border: none;
  cursor: pointer;
  min-height: 35px;
  min-width: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/***** Community *****/
.community-hero {
  background-image: url(/hc/theming_assets/01J917ASJ6R42VDW7Z0J4SBV68);
  margin-bottom: 10px;
}
.community-footer {
  padding-top: 50px;
  text-align: center;
}
.community-footer-title {
  font-size: 16px;
  margin-bottom: 20px;
}
.community-featured-posts .title {
  font-size: 18px;
  font-weight: 600;
}
.community-featured-posts, .community-activity {
  padding-top: 40px;
  width: 100%;
}
.community-header {
  margin-bottom: 30px;
}
.community-header .title {
  margin-bottom: 0;
  font-size: 16px;
}

.post-to-community {
  margin-top: 10px;
}
@media (min-width: 768px) {
  .post-to-community {
    margin: 0;
  }
}

/* Community topics grid */
.topics {
  max-width: none;
  width: 100%;
}
.topics-item .meta-group {
  justify-content: center;
  margin-top: 20px;
}

/* Community topic page */
.topic-header {
  border-bottom: 1px solid #ddd;
  font-size: 13px;
}
@media (min-width: 768px) {
  .topic-header {
    padding-bottom: 10px;
  }
}
.topic-header .dropdown {
  display: block;
  border-top: 1px solid #ddd;
  padding: 10px 0;
}
@media (min-width: 768px) {
  .topic-header .dropdown {
    border-top: 0;
    display: inline-block;
    margin-right: 20px;
    padding: 0;
  }
}

.no-posts-with-filter {
  margin-top: 20px;
  margin-bottom: 20px;
}

/* Topic, post and user follow button */
.community-follow {
  margin-bottom: 10px;
  width: 100%;
}
@media (min-width: 768px) {
  .community-follow {
    margin-bottom: 0;
    width: auto;
  }
}
.community-follow button {
  line-height: 30px;
  padding: 0 10px 0 15px;
  position: relative;
  width: 100%;
}
@media (min-width: 768px) {
  .community-follow button {
    width: auto;
  }
}
.community-follow button:hover {
  background-color: #17494D;
}
.community-follow button:hover::after, .community-follow button:focus::after {
  border-color: #FFFFFF;
  color: #FFFFFF;
}
.community-follow button[data-selected=true] {
  background-color: #17494D;
  color: #FFFFFF;
}
.community-follow button[data-selected=true]::after {
  border-left: 1px solid #FFFFFF;
  color: #FFFFFF;
}
.community-follow button[data-selected=true]:hover {
  background-color: #000;
  border-color: #000;
}
.community-follow button::after {
  border-left: 1px solid #17494D;
  content: attr(data-follower-count);
  color: #17494D;
  display: inline-block;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  margin-left: 15px;
  padding-left: 10px;
  position: absolute;
  right: 10px;
}
@media (min-width: 768px) {
  .community-follow button::after {
    position: static;
  }
}
[dir=rtl] .community-follow button::after {
  border-left: 0;
  border-right: 1px solid #17494D;
  margin: 0 10px 0 0;
  padding: 0 10px 0 0;
}

/***** Striped list *****/
/* Used in community posts list and requests list */
.striped-list {
  padding: 0;
}
.striped-list-item {
  align-items: flex-start;
  border-bottom: 1px solid #ddd;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 20px 0;
}
@media (min-width: 768px) {
  .striped-list-item {
    align-items: center;
    flex-direction: row;
  }
}
.striped-list-info {
  flex: 2;
}
.striped-list-title {
  color: #1F73B7;
  margin-bottom: 10px;
  margin-right: 5px;
}
.striped-list-title:hover, .striped-list-title:focus, .striped-list-title:active {
  text-decoration: underline;
}
.striped-list-title:visited {
  color: #9358B0;
}
.striped-list .meta-group {
  margin: 5px 0;
}
.striped-list-count {
  color: #5a6d7c;
  font-size: 13px;
  justify-content: flex-start;
  text-transform: capitalize;
}
@media (min-width: 768px) {
  .striped-list-count {
    display: flex;
    flex: 1;
    justify-content: space-around;
  }
}
.striped-list-count-item::after {
  content: "·";
  display: inline-block;
  padding: 0 5px;
}
@media (min-width: 768px) {
  .striped-list-count-item::after {
    display: none;
  }
}
.striped-list-count-item:last-child::after {
  display: none;
}
.striped-list-number {
  text-align: center;
}
@media (min-width: 768px) {
  .striped-list-number {
    color: #2F3941;
    display: block;
  }
}

/***** Status labels *****/
/* Styles labels used in posts, articles and requests */
.status-label {
  background-color: #038153;
  border-radius: 4px;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  margin-right: 2px;
  padding: 3px 10px;
  vertical-align: middle;
  white-space: nowrap;
  display: inline-block;
}
.status-label:hover, .status-label:active, .status-label:focus {
  text-decoration: none;
}
.status-label-pinned, .status-label-featured, .status-label-official {
  background-color: #17494D;
}
.status-label-official {
  border-radius: 0;
  margin-right: 0;
  position: absolute;
  right: 0;
  text-align: center;
  top: 0;
  width: 100%;
}
@media (min-width: 768px) {
  .status-label-official {
    border-radius: 0 0 4px 4px;
    right: 30px;
    width: auto;
  }
}
[dir=rtl] .status-label-official {
  left: 30px;
  right: auto;
}
.status-label-not-planned, .status-label-closed {
  background-color: #e9ebed;
  color: #5a6d7c;
}
.status-label-pending, .status-label-pending-moderation {
  background-color: #1f73b7;
  text-align: center;
}
.status-label-open {
  background-color: #c72a1c;
}
.status-label-solved {
  background-color: #68737d;
}
.status-label-new {
  background-color: #ffb648;
  color: #703b15;
}
.status-label-hold {
  background-color: #000;
}
.status-label-request {
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (max-width: 768px) {
  .status-label-request {
    max-width: 150px;
  }
}

/***** Post *****/
/*
* The post grid is defined this way:
* Content | Sidebar
* 70%     | 30%
*/
.post {
  flex: 1;
  margin-bottom: 10px;
}
@media (min-width: 1024px) {
  .post {
    flex: 1 0 70%;
    max-width: 70%;
  }
}
.post-container {
  display: flex;
  flex-direction: column;
}
@media (min-width: 1024px) {
  .post-container {
    flex-direction: row;
  }
}
.post-header {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin-bottom: 10px;
}
@media (min-width: 768px) {
  .post-header {
    align-items: baseline;
    flex-direction: row;
  }
}
.post-header .status-label {
  vertical-align: super;
}
.post-title {
  margin-bottom: 20px;
  width: 100%;
}
@media (min-width: 768px) {
  .post-title {
    margin-bottom: 0;
    padding-right: 10px;
  }
}
.post-title h1 {
  display: inline;
  vertical-align: middle;
}
@media (min-width: 768px) {
  .post-title h1 {
    margin-right: 5px;
  }
}
.post-author {
  align-items: flex-start;
  display: flex;
  justify-content: space-between;
}
.post-avatar {
  margin-bottom: 30px;
}
.post-content {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  line-height: 1.6;
  word-break: break-word;
}
.post-info-container {
  display: flex;
  margin-bottom: 40px;
}
.post-info {
  min-width: 0;
  padding-right: 20px;
  width: 100%;
}
[dir=rtl] .post-info {
  padding-right: 0;
  padding-left: 20px;
}
.post-meta {
  display: inline-block;
  flex: 1;
  margin-left: 10px;
  vertical-align: middle;
}
[dir=rtl] .post-meta {
  margin-left: 0;
  margin-right: 10px;
}
.post-body {
  display: flow-root;
}
.post-body a {
  color: #1F73B7;
  text-decoration: underline;
}
.post-body a:visited {
  color: #9358B0;
}
.post-body a:hover, .post-body a:active, .post-body a:focus {
  color: #0F3554;
}
.post-body img {
  height: auto;
  max-width: 100%;
}
.post-body p > img.image-style-align-left {
  float: left;
  margin: 8px 20px 6px 0;
}
.post-body p > img.image-style-align-right {
  float: right;
  margin: 8px 0px 6px 20px;
}
.post-body p > img.image-style-block-align-right {
  margin-left: auto;
  margin-right: 0;
}
.post-body p > img.image-style-block-align-left {
  margin-left: 0;
  margin-right: auto;
}
.post-body figure.image {
  display: table;
  margin: 0 auto;
}
.post-body figure.image > img {
  display: block;
  width: 100%;
}
.post-body figure.image.image-style-align-left {
  float: left;
  margin: 8px 20px 6px 0;
}
.post-body figure.image.image-style-align-right {
  float: right;
  margin: 8px 0px 6px 20px;
}
.post-body figure.image.image-style-block-align-right {
  margin-left: auto;
  margin-right: 0;
}
.post-body figure.image.image-style-block-align-left {
  margin-left: 0;
  margin-right: auto;
}
.post-body figcaption {
  padding: 10px 0;
  font-size: 12px;
  text-align: center;
  background-color: #f2f2f2;
}
.post-body ul,
.post-body ol {
  padding-left: 20px;
  list-style-position: outside;
  margin: 20px 0 20px 20px;
}
[dir=rtl] .post-body ul,
[dir=rtl] .post-body ol {
  padding-right: 20px;
  padding-left: 0;
  margin-left: 0;
  margin-right: 20px;
}
.post-body ul > ul,
.post-body ol > ol,
.post-body ol > ul,
.post-body ul > ol,
.post-body li > ul,
.post-body li > ol {
  margin: 0;
}
.post-body ul {
  list-style-type: disc;
}
.post-body :not(pre) > code {
  background: #f7f7f7;
  border: 1px solid #ddd;
  border-radius: 3px;
  padding: 0 5px;
  margin: 0 2px;
}
.post-body pre {
  background: #f7f7f7;
  border: 1px solid #ddd;
  border-radius: 3px;
  padding: 10px 15px;
  overflow: auto;
  white-space: pre;
  direction: ltr;
}
.post-body blockquote {
  border-left: 1px solid #ddd;
  color: #5a6d7c;
  font-style: italic;
  padding: 0 15px;
}
.post-footer {
  align-items: center;
  display: flex;
  justify-content: space-between;
  padding-bottom: 20px;
}
.post-comment-count {
  color: #5a6d7c;
}
.post-comment-count:hover {
  text-decoration: none;
}
.post-comment-count .icon-comments {
  color: #17494D;
  display: inline-block;
  width: 18px;
  height: 18px;
  margin: 5px;
  vertical-align: middle;
}
.post-sidebar {
  border-top: 1px solid #ddd;
  flex: 1;
  padding: 30px 0;
  text-align: center;
}
@media (min-width: 1024px) {
  .post-sidebar {
    border: 0;
    flex: 1 0 30%;
    padding: 0 0 0 50px;
    text-align: initial;
  }
  [dir=rtl] .post-sidebar {
    padding: 0 50px 0 0;
  }
}
.post-sidebar-title {
  font-size: 18px;
  font-weight: 600;
}
.post-comments {
  margin-bottom: 20px;
}
@media (min-width: 1024px) {
  .post-comments {
    margin-bottom: 0;
  }
}

/***** Community Badges *****/
/* Styles labels used next to the authors of article comments, community posts, and community comments */
.community-badge-title {
  background-color: #04444d;
  border-radius: 4px;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  padding: 0px 8px;
  vertical-align: top;
  white-space: nowrap;
  display: inline-block;
  line-height: 18px;
  vertical-align: middle;
}

.community-badge-titles {
  display: inline;
}

.community-badge-achievement {
  display: block;
  height: 16px;
  white-space: nowrap;
  width: 16px;
}
.community-badge-achievement img {
  width: 100%;
  height: 100%;
}

.community-badge-achievements {
  display: flex;
}

.community-badge-achievements-rest {
  font-size: 12px;
  font-weight: 600;
  line-height: 20px;
  text-align: center;
  vertical-align: top;
}

.community-badge {
  margin: 2px;
}

.profile-info .community-badge-title {
  padding: 2px 8px;
  line-height: 20px;
}
.profile-info .community-badge-achievement {
  height: 40px;
  width: 40px;
}
.profile-info .community-badge-achievements-rest {
  line-height: 40px;
  font-size: 20px;
}

/* Navigation element that collapses on mobile */
.collapsible-nav {
  flex-direction: column;
  font-size: 14px;
  position: relative;
}
@media (min-width: 768px) {
  .collapsible-nav {
    flex-direction: row;
  }
}

.collapsible-nav-border {
  border-bottom: 1px solid #ddd;
  border-top: 1px solid #ddd;
}
@media (min-width: 768px) {
  .collapsible-nav-border {
    border-top: 0;
  }
}

.collapsible-nav-toggle {
  top: 22.5px;
  transform: translateY(-50%);
  position: absolute;
  right: 0;
  padding: 0;
  border: 0;
  background: none;
  width: 25px;
  height: 25px;
  border-radius: 50%;
}
@media (min-width: 768px) {
  .collapsible-nav-toggle {
    display: none;
  }
}
[dir=rtl] .collapsible-nav-toggle {
  left: 0;
  right: auto;
}
.collapsible-nav-toggle-icon {
  display: none;
}
.collapsible-nav-toggle[aria-expanded=false] .chevron-icon {
  display: inline-block;
}
.collapsible-nav-toggle[aria-expanded=true] .x-icon {
  display: inline-block;
}
.collapsible-nav-toggle:focus {
  outline: none;
  border: 1px solid #17494D;
}

.collapsible-nav-list {
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .collapsible-nav-list {
    flex-direction: row;
  }
}
.collapsible-nav-list li {
  color: #2F3941;
  line-height: 45px;
  order: 1;
}
@media (min-width: 768px) {
  .collapsible-nav-list li {
    line-height: normal;
    margin-right: 30px;
  }
  [dir=rtl] .collapsible-nav-list li {
    margin-left: 30px;
    margin-right: 0;
  }
  .collapsible-nav-list li a {
    text-decoration: none;
    padding: 15px 0;
  }
}
.collapsible-nav-list li a {
  color: #2F3941;
  display: block;
}
@media (min-width: 768px) {
  .collapsible-nav-list li:hover {
    border-bottom: 4px solid #ddd;
  }
  .collapsible-nav-list li:hover a:not([aria-current=page]) {
    padding: 15px 0 11px 0;
    text-decoration: none;
  }
}
.collapsible-nav-list li:not([aria-selected=true]),
.collapsible-nav-list li:not(.current) {
  display: none;
}
@media (min-width: 768px) {
  .collapsible-nav-list li:not([aria-selected=true]),
  .collapsible-nav-list li:not(.current) {
    display: block;
  }
}
@media (min-width: 768px) {
  .collapsible-nav-list li[aria-selected=true] {
    padding: 15px 0 11px 0;
  }
}
.collapsible-nav-list li[aria-selected=true],
.collapsible-nav-list li.current {
  order: 0;
  position: relative;
}
@media (min-width: 768px) {
  .collapsible-nav-list li[aria-selected=true],
  .collapsible-nav-list li.current {
    border-bottom: 4px solid #17494D;
    order: 1;
  }
}
.collapsible-nav-list li[aria-selected=true] a,
.collapsible-nav-list li.current a {
  color: #2F3941;
}

.collapsible-nav[aria-expanded=true] li:not([aria-selected=true]),
.collapsible-nav[aria-expanded=true] li:not(.current) {
  display: block;
}

/* Sidebar navigation that collapses on mobile */
.collapsible-sidebar {
  flex: 1;
  max-height: 45px;
  overflow: hidden;
  padding: 10px 0;
  position: relative;
}
@media (min-width: 1024px) {
  .collapsible-sidebar {
    max-height: none;
    padding: 0;
  }
}
.collapsible-sidebar-title {
  margin-top: 0;
}
.collapsible-sidebar-toggle {
  position: absolute;
  top: 22.5px;
  transform: translateY(-50%);
  right: 0;
  padding: 0;
  border: 0;
  background: none;
  width: 25px;
  height: 25px;
  border-radius: 50%;
}
@media (min-width: 1024px) {
  .collapsible-sidebar-toggle {
    display: none;
  }
}
[dir=rtl] .collapsible-sidebar-toggle {
  left: 0;
  right: auto;
}
.collapsible-sidebar-toggle-icon {
  display: none;
}
.collapsible-sidebar-toggle[aria-expanded=false] .chevron-icon {
  display: inline-block;
}
.collapsible-sidebar-toggle[aria-expanded=true] .x-icon {
  display: inline-block;
}
.collapsible-sidebar-toggle:focus {
  outline: none;
  border: 1px solid #17494D;
}
.collapsible-sidebar-body {
  display: none;
}
@media (min-width: 1024px) {
  .collapsible-sidebar-body {
    display: block;
  }
}
.collapsible-sidebar[aria-expanded=true] {
  max-height: none;
}
.collapsible-sidebar[aria-expanded=true] .collapsible-sidebar-body {
  display: block;
}

/***** My activities *****/
.my-activities-nav {
  background-color: #f2f2f2;
  margin-bottom: 20px;
}
.my-activities-sub-nav {
  margin-bottom: 30px;
}
.my-activities-table .striped-list-title { /* My activities tables */
  display: block;
  margin-bottom: 10px;
  max-width: 350px;
  white-space: normal;
}
@media (min-width: 1024px) {
  .my-activities-table .striped-list-title {
    margin-bottom: 0;
    max-width: 500px;
    min-width: 350px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}
.my-activities-table thead {
  display: none;
}
@media (min-width: 768px) {
  .my-activities-table thead {
    display: table-header-group;
  }
}
.my-activities-table th:first-child,
.my-activities-table td:first-child {
  padding-left: 0;
}
@media (min-width: 1024px) {
  .my-activities-table th:first-child,
  .my-activities-table td:first-child {
    width: 500px;
  }
}
.my-activities-table th:last-child,
.my-activities-table td:last-child {
  padding-right: 0;
}
.my-activities-table td:not(:first-child) {
  display: none;
}
@media (min-width: 768px) {
  .my-activities-table td:not(:first-child) {
    display: table-cell;
  }
}

/* Requests table */
.requests-search {
  width: 100%;
}
.requests-table-toolbar {
  align-items: flex-end;
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .requests-table-toolbar {
    flex-direction: row;
  }
}
.requests-table-toolbar .search {
  flex: 1;
  width: 100%;
}
.requests-table-toolbar .request-table-filter {
  width: 100%;
}
@media (min-width: 768px) {
  .requests-table-toolbar .request-table-filter {
    width: auto;
  }
}
.requests-table-toolbar .request-filter {
  display: block;
}
@media (min-width: 768px) {
  .requests-table-toolbar .request-filter {
    margin: 0 0 0 30px;
  }
  [dir=rtl] .requests-table-toolbar .request-filter {
    margin: 0 30px 0 0;
  }
}
.requests-table-toolbar .request-filter-label {
  font-size: 13px;
  margin-top: 30px;
}
@media (min-width: 768px) {
  .requests-table-toolbar .request-filter-label {
    margin-top: 0;
  }
}
.requests-table-toolbar select {
  max-height: 40px;
  margin-bottom: 30px;
  width: 100%;
}
@media (min-width: 768px) {
  .requests-table-toolbar select {
    margin-bottom: 0;
    max-width: 300px;
    width: auto;
  }
}
@media (min-width: 768px) {
  .requests-table-toolbar .organization-subscribe {
    margin-left: 10px;
  }
  [dir=rtl] .requests-table-toolbar .organization-subscribe {
    margin: 0 10px 0 0;
  }
}
.requests-table-toolbar .organization-subscribe button {
  line-height: 40px;
  max-height: 40px;
  padding: 0 20px;
}
.requests-table-toolbar + .requests-search-info {
  margin-top: 15px;
}
.requests-table-toolbar + .requests-search-info.meta-data::after {
  content: "";
  margin: 0;
}
.requests-table-toolbar + .requests-search-info + .requests {
  margin-top: 20px;
}
.requests-table-toolbar + .requests {
  margin-top: 40px;
}
.requests .requests-table-meta {
  display: block;
}
@media (min-width: 768px) {
  .requests .requests-table-meta {
    display: none;
  }
}
.requests .requests-table thead {
  display: none;
}
@media (min-width: 768px) {
  .requests .requests-table thead {
    display: table-header-group;
  }
}
.requests .requests-table-info {
  display: block;
}
@media (min-width: 768px) {
  .requests .requests-table-info {
    display: table-cell;
    vertical-align: middle;
    width: auto;
  }
}
.requests .requests-table .requests-link {
  position: relative;
}
.requests .requests-table .requests-sort-symbol {
  position: absolute;
  left: calc(100% + 3px);
  bottom: 0;
  font-size: 10px;
}

/* Following table */
@media (min-width: 768px) {
  .subscriptions-subscribe button {
    width: auto;
  }
}
.subscriptions-table td:last-child {
  display: block;
}
@media (min-width: 768px) {
  .subscriptions-table td:last-child {
    display: table-cell;
  }
}
.subscriptions-table td:first-child {
  display: flex;
  align-items: center;
}
.subscriptions-table .user-avatar {
  margin-right: 10px;
}
.subscriptions .striped-list-title {
  display: inline-block;
  vertical-align: middle;
}

/* Contributions table */
.contributions-table td:last-child {
  color: #5a6d7c;
  font-size: 13px;
}
@media (min-width: 768px) {
  .contributions-table td:last-child {
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
  }
}

.no-activities {
  color: #5a6d7c;
}

/***** Request *****/
.request-container {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media (min-width: 1024px) {
  .request-container {
    align-items: flex-start;
    flex-direction: row;
  }
}
.request-container .comment-container {
  min-width: 0;
}
.request-breadcrumbs {
  margin-bottom: 40px;
}
@media (min-width: 1024px) {
  .request-breadcrumbs {
    margin-bottom: 60px;
  }
}
.request-main {
  flex: 1 0 auto;
  order: 1;
}
.request-main .comment-fields, .request-main .request-submit-comment {
  display: none;
}
.request-main .comment-fields.shown {
  display: block;
}
.request-main .request-submit-comment.shown {
  display: inline;
}
@media (min-width: 1024px) {
  .request-main {
    flex: 0 0 66%;
    order: 0;
    min-width: 0;
  }
}
.request-main .comment-form-controls {
  display: block;
}
.request-main .comment-ccs {
  display: block;
}
.request-main .comment-show-container {
  border-radius: 2px;
  border: 1px solid #ddd;
  color: #5a6d7c;
  text-align: inherit;
  padding: 8px 25px;
  width: 100%;
}
.request-main .comment-show-container.hidden {
  display: none;
}
.request-main .form-field.comment-ccs > ul {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom: 0;
}
.request-main .form-field.comment-ccs > ul[data-hc-focus=true] {
  border: 1px solid #17494D;
}
.request-main .form-field.comment-ccs > input[type=text] {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom: 0;
}
.request-main .comment-ccs + textarea {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  margin-top: 0;
}
.request-main .comment-ccs + textarea:focus {
  border-top: 1px solid #17494D;
}
.request-main input#mark_as_solved {
  display: none;
}
.request-title {
  width: 100%;
}
@media (min-width: 1024px) {
  .request-title {
    border-bottom: 1px solid #ddd;
    margin-bottom: 0;
    max-width: 66%;
    padding-bottom: 20px;
  }
}
.request-sidebar {
  border-bottom: 1px solid #ddd;
  border-top: 1px solid #ddd;
  flex: 1 0 auto;
  order: 0;
}
@media (min-width: 1024px) {
  .request-sidebar {
    background-color: #f7f7f7;
    border: 0;
    font-size: 13px;
    flex: 0 0 auto;
    padding: 0 20px;
    width: 30%;
  }
}
.request-sidebar h2 {
  font-size: 15px;
  font-weight: 600;
  position: relative;
}
@media (min-width: 1024px) {
  .request-sidebar h2 {
    display: none;
  }
}
.request-details {
  border-bottom: 1px solid #ddd;
  font-size: 0;
  margin: 0;
  padding-bottom: 20px;
}
.request-details:last-child {
  border: 0;
}
.request-details dt, .request-details dd {
  display: inline-block;
  vertical-align: top;
  font-size: 13px;
  margin: 20px 0 0 0;
}
.request-details dd {
  padding: 0 10px;
  width: 60%;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
.request-details dd::after {
  content: "\a";
  white-space: pre;
}
.request-details dt {
  line-break: strict;
  color: #5a6d7c;
  width: 40%;
}
.request-details .request-collaborators {
  display: inline-block;
}
.request-attachments dt, .request-attachments dd {
  width: 100%;
}
.request-attachments dd {
  margin: 10px 0 0 0;
}
.request-form textarea {
  min-height: 120px;
}
.request-follow-up {
  padding-top: 20px;
}

/***** Pagination *****/
.pagination {
  margin: 20px 0;
  text-align: center;
}
.pagination-next, .pagination-prev, .pagination-first, .pagination-last {
  display: inline-block;
}
.pagination-first-link, .pagination-last-link {
  padding: 0 10px;
}
.pagination-first-text, .pagination-last-text {
  border: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
}
.pagination-next-link {
  padding-right: 10px;
}
.pagination-next-text {
  margin-right: 10px;
}
[dir=rtl] .pagination-next-link {
  padding-left: 10px;
}
[dir=rtl] .pagination-next-text {
  margin-left: 10px;
}
.pagination-prev-link {
  padding-left: 10px;
}
.pagination-prev-text {
  margin-left: 10px;
}
[dir=rtl] .pagination-prev-link {
  padding-right: 10px;
}
[dir=rtl] .pagination-prev-text {
  margin-right: 10px;
}

/***** Metadata *****/
.meta-group {
  display: block;
}

.meta-group-opposite {
  float: right;
}

[dir=rtl] .meta-group-opposite {
  float: left;
}

.meta-group * {
  display: inline;
}

.meta-data {
  color: #5a6d7c;
  font-size: 13px;
}
.meta-data:not(:last-child)::after {
  content: "·";
  margin: 0 5px;
}

/* User Profiles */
.profile-header {
  padding: 30px 0;
  background-color: #f7f7f7;
}

.profile-header .container {
  display: flex;
  flex-wrap: wrap;
}
@media (min-width: 768px) {
  .profile-header .container {
    flex-wrap: nowrap;
  }
}

.profile-header .profile-info {
  flex-basis: 100%;
  display: flex;
  flex-wrap: wrap;
  min-width: 0;
}

.profile-avatar {
  position: relative;
  line-height: 0;
  align-self: center;
  margin-right: 10px;
}
[dir=rtl] .profile-avatar {
  margin-left: 10px;
  margin-right: 0;
}

.profile-avatar .user-avatar {
  width: 80px;
  height: 80px;
}

.profile-avatar .icon-agent {
  bottom: 0;
  right: 0;
}

.profile-header .basic-info {
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  -webkit-hyphens: auto;
  word-break: break-word;
  word-wrap: break-word;
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex-grow: 1;
  flex-basis: 0;
  min-width: 0;
}
.profile-header .basic-info .name {
  margin: 0;
  line-height: 25px;
  vertical-align: middle;
  display: inline;
}

.profile-header .options {
  display: flex;
  flex-basis: 100%;
  margin-top: 12px;
  align-items: flex-start;
  flex-wrap: wrap;
}
@media (min-width: 768px) {
  .profile-header .options {
    flex-wrap: nowrap;
    flex-basis: auto;
    margin-top: 0;
    margin-left: 10px;
  }
  [dir=rtl] .profile-header .options {
    margin-left: 0;
    margin-right: 10px;
  }
  .profile-header .options > :not(:last-child) {
    margin-bottom: 0;
    margin-right: 10px;
  }
  [dir=rtl] .profile-header .options > :not(:last-child) {
    margin-left: 10px;
    margin-right: 0;
  }
}

.user-profile-actions {
  width: 100%;
  margin-bottom: 15px;
}

.profile-header .description {
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  -webkit-hyphens: auto;
  word-break: break-word;
  word-wrap: break-word;
  margin: 15px 0;
  flex-basis: 100%;
}

.profile-stats {
  font-size: 13px;
  display: flex;
  flex-direction: column;
  flex-basis: 100%;
}

.profile-stats .stat {
  display: flex;
  margin-bottom: 10px;
}

.profile-stats .stat-label {
  color: #5a6d7c;
  flex: 0 0 100px;
  margin-right: 10px;
}
[dir=rtl] .profile-stats .stat-label {
  margin-left: 10px;
  margin-right: 0;
}

.profile-stats-activity {
  border-top: solid 1px #ddd;
  margin-top: 15px;
}
@media (min-width: 768px) {
  .profile-stats-activity {
    border-top: 0;
    flex-direction: row;
  }
}

@media (min-width: 768px) {
  .profile-stats-activity .stat {
    flex-direction: column;
  }
}

.profile-stats-activity .stat:first-child {
  margin-top: 10px;
}
@media (min-width: 768px) {
  .profile-stats-activity .stat:first-child {
    margin-top: 0;
  }
}

@media (min-width: 768px) {
  .profile-stats-activity .stat:not(:last-child) {
    margin-right: 40px;
  }
  [dir=rtl] .profile-stats-activity .stat:not(:last-child) {
    margin-left: 40px;
    margin-right: 0;
  }
}

@media (min-width: 768px) {
  .profile-stats-activity .stat-label {
    flex: 0 1 auto;
  }
}

.profile-stats-counters {
  border-bottom: solid 1px #ddd;
}
@media (min-width: 768px) {
  .profile-stats-counters {
    flex: 0 0 200px;
    border-bottom: 0;
    margin-left: 40px;
  }
  [dir=rtl] .profile-stats-counters {
    margin-left: 0;
    margin-right: 40px;
  }
}
@media (min-width: 1024px) {
  .profile-stats-counters {
    flex: 0 0 270px;
    margin-left: 60px;
  }
  [dir=rtl] .profile-stats-counters {
    margin-right: 60px;
    margin-left: 0;
  }
}

@media (min-width: 768px) {
  .profile-stats-counters .stat {
    flex-direction: column;
  }
}
@media (min-width: 1024px) {
  .profile-stats-counters .stat {
    flex-direction: row;
  }
}

@media (min-width: 768px) {
  .profile-stats-counters .stat:not(:last-child) {
    margin-bottom: 15px;
  }
}

@media (min-width: 768px) {
  .profile-stats-counters .stat-label {
    flex: 0 1 auto;
  }
}
@media (min-width: 1024px) {
  .profile-stats-counters .stat-label {
    flex: 0 0 100px;
  }
}

.profile-private-badge {
  flex-basis: 100%;
  border: solid 1px #17494D;
  border-radius: 4px;
  color: #17494D;
  padding: 5px 20px;
  font-size: 12px;
  text-align: center;
}
.profile-private-badge .profile-private-icon {
  margin-left: 5px;
  line-height: 15px;
}
@media (min-width: 768px) {
  .profile-private-badge {
    flex-basis: auto;
  }
}

.profile-nav {
  background-color: #f2f2f2;
  margin-bottom: 37px;
}

.profile-section {
  width: 100%;
}
@media (min-width: 1024px) {
  .profile-section {
    width: calc(100% - 330px);
  }
}

.profile-section-header {
  display: flex;
  flex-wrap: wrap;
}

.profile-section-title {
  flex-basis: 100%;
  margin-bottom: 0;
}

.profile-section-description {
  flex-basis: 100%;
  padding: 10px 0;
  color: #5a6d7c;
  font-size: 13px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (min-width: 768px) {
  .profile-section-description {
    flex: 1 0 50%;
    padding-bottom: 0;
  }
}

.profile-section-sorter {
  flex-basis: 100%;
  border-top: solid 1px #eee;
  font-size: 13px;
}
.profile-section-sorter .dropdown-toggle {
  padding: 10px 0;
  width: 100%;
}
.profile-section-sorter .dropdown-toggle::after {
  position: absolute;
  right: 0;
}
[dir=rtl] .profile-section-sorter .dropdown-toggle::after {
  left: 0;
  right: initial;
}
@media (min-width: 768px) {
  .profile-section-sorter .dropdown-toggle::after {
    position: relative;
  }
}
@media (min-width: 768px) {
  .profile-section-sorter {
    flex: 0 1 auto;
    padding-top: 0;
    border-top: 0;
    margin-left: 20px;
  }
  [dir=rtl] .profile-section-sorter {
    margin-left: 0;
    margin-right: 20px;
  }
}

.profile-badges-items {
  margin-top: 25px;
}
.profile-badges-item {
  border-top: 1px solid #ddd;
  display: flex;
  flex: 1;
  flex-direction: row;
  justify-content: flex-start;
  padding: 27px 12px;
}
.profile-badges-item > div {
  padding-right: 12px;
  padding-left: 12px;
}
.profile-badges-item-image {
  height: 40px;
  width: 40px;
  margin-right: 12px;
}
.profile-badges-item-image img {
  max-height: 40px;
}
[dir=rtl] .profile-badges-item-image {
  margin-left: 12px;
  margin-right: 0;
}
.profile-badges-item-title, .profile-badges-item-metadata-title {
  font-size: 15px;
  margin-bottom: 10px;
}
.profile-badges-item-title {
  font-weight: 600;
}
.profile-badges-item-description, .profile-badges-item-metadata-description {
  color: #5a6d7c;
  font-size: 13px;
  margin: 0;
}
.profile-badges-item-metadata {
  margin-left: auto;
  text-align: right;
}
[dir=rtl] .profile-badges-item-metadata {
  margin-left: 0;
  margin-right: auto;
  text-align: left;
}

.profile-contribution {
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  -webkit-hyphens: auto;
  word-break: break-word;
  word-wrap: break-word;
  padding: 20px 0;
  position: relative;
}

.profile-contribution-header {
  margin-bottom: 5px;
}

.profile-contribution-title {
  margin: 0 0 5px 0;
  display: inline;
  line-height: 21px;
  font-size: 15px;
  vertical-align: middle;
}

.profile-contribution-body {
  margin: 10px 0;
}

.profile-contribution-list > .profile-contribution {
  border-top: 1px solid #eee;
}
@media (min-width: 768px) {
  .profile-contribution-list > .profile-contribution {
    padding-left: 30px;
  }
  [dir=rtl] .profile-contribution-list > .profile-contribution {
    padding-right: 30px;
    padding-left: 0;
  }
}

.profile-contribution-list > .profile-contribution:last-child {
  border-bottom: 1px solid #eee;
}

.profile-contribution-icon {
  left: 0;
  position: absolute;
  color: #ccc;
  line-height: 25px;
}
[dir=rtl] .profile-contribution-icon {
  right: 0;
}
.profile-contribution-icon svg {
  vertical-align: middle;
}

.profile-contribution-list .profile-contribution-header {
  margin-left: 30px;
}
[dir=rtl] .profile-contribution-list .profile-contribution-header {
  padding-right: 30px;
  padding-left: 0;
}
@media (min-width: 768px) {
  .profile-contribution-list .profile-contribution-header {
    margin-left: 0;
  }
  [dir=rtl] .profile-contribution-list .profile-contribution-header {
    padding-right: 0;
  }
}

.profile-comments .profile-contribution-breadcrumbs {
  margin-left: 30px;
}
[dir=rtl] .profile-comments .profile-contribution-breadcrumbs {
  padding-right: 30px;
  padding-left: 0;
}
@media (min-width: 768px) {
  .profile-comments .profile-contribution-breadcrumbs {
    margin-left: 0;
  }
  [dir=rtl] .profile-comments .profile-contribution-breadcrumbs {
    padding-right: 0;
  }
}

.profile-section .no-activity,
.profile-section .private-activity {
  display: block;
  margin-top: 40px;
  color: #999;
}

.private-activity-icon {
  margin-right: 10px;
}
[dir=rtl] .private-activity-icon {
  margin-right: 0;
  margin-left: 10px;
}

.profile-activity-list {
  margin-top: 25px;
}

.profile-activity {
  position: relative;
  padding-bottom: 30px;
}
@media (min-width: 768px) {
  .profile-activity {
    padding-left: 20px;
  }
  [dir=rtl] .profile-activity {
    padding-right: 20px;
    padding-left: 0;
  }
}

@media (min-width: 768px) {
  .profile-activity:not(:last-child) {
    border-left: 1px solid #ddd;
  }
  [dir=rtl] .profile-activity:not(:last-child) {
    border-left: 0;
    border-right: 1px solid #ddd;
  }
}

.profile-activity-header {
  display: flex;
  align-items: center;
  margin-left: 35px;
}
[dir=rtl] .profile-activity-header {
  margin-left: 0;
  margin-right: 35px;
}
@media (min-width: 768px) {
  .profile-activity-header {
    margin-left: 0;
  }
  [dir=rtl] .profile-activity-header {
    margin-right: 0;
  }
}

.profile-activity-header .user-avatar {
  width: 40px;
  height: 40px;
  margin-right: 10px;
  min-width: 40px;
  align-self: flex-start;
}
[dir=rtl] .profile-activity-header .user-avatar {
  margin-left: 10px;
  margin-right: 0;
}

.profile-activity-description {
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  -webkit-hyphens: auto;
  word-break: break-word;
  word-wrap: break-word;
  margin: 0;
  min-width: 0;
  width: 100%;
}

.profile-activity-description span:first-child {
  font-weight: 600;
  display: inline;
}

.profile-activity-contribution {
  padding: 20px;
  margin-top: 10px;
  border-radius: 8px;
  background-color: #f7f7f7;
}
@media (min-width: 768px) {
  .profile-activity-contribution {
    margin-top: 0;
    margin-left: 50px;
  }
  [dir=rtl] .profile-activity-contribution {
    margin-left: 0;
    margin-right: 50px;
  }
}

.profile-activity-icon {
  position: absolute;
  left: 0;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background-size: 14px 14px;
  background-repeat: no-repeat;
  background-color: #FFFFFF;
  background-position: 50% 50%;
  text-align: center;
  color: #ccc;
}
[dir=rtl] .profile-activity-icon {
  right: 0;
}
@media (min-width: 768px) {
  .profile-activity-icon {
    left: -14px;
  }
  [dir=rtl] .profile-activity-icon {
    right: -14px;
  }
}

.profile-activity-icon svg {
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  width: 1em;
  height: 1em;
  margin: auto;
}

/* Axie authenticated pages — profile, requests, request-detail, activities */
/* ============================================================
   Axie Support — authenticated user pages
   ============================================================
   Shared styles for:
   - user_profile_page.hbs (community profile)
   - requests_page.hbs (My requests list)
   - request_page.hbs (single request detail with thread)
   - contributions_page.hbs (Activities feed)

   Status tag palette is fixed: Pending=yellow, Open=red,
   Progress=sky, Solved=mint, Closed=ink-dim.
   ============================================================ */
/* ─── Profile sub-hero — uses sky+lavender pools ─── */
.axie-sub-hero--profile .axie-sub-hero-bg {
  background: radial-gradient(ellipse 40% 60% at 90% 30%, rgba(255, 143, 177, 0.2), transparent 70%), radial-gradient(ellipse 40% 50% at 10% 80%, rgba(183, 158, 245, 0.18), transparent 70%);
}

.axie-profile-head {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 28px;
  align-items: center;
}
@media (max-width: 560px) {
  .axie-profile-head {
    grid-template-columns: 1fr;
    gap: 18px;
    justify-items: start;
  }
}

.axie-profile-avatar {
  width: 110px;
  height: 110px;
  border-radius: 50%;
  background: var(--axie-pink);
  border: var(--axie-outline-thick);
  box-shadow: 5px 5px 0 var(--axie-shadow-col), 10px 10px 0 rgba(var(--axie-ink-rgb), 0.15);
  overflow: hidden;
  display: grid;
  place-items: center;
  transform: rotate(-3deg);
  animation: axieAvFloat 6s ease-in-out infinite;
  flex-shrink: 0;
}
.axie-profile-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}

@keyframes axieAvFloat {
  0%, 100% {
    transform: rotate(-3deg) translateY(0);
  }
  50% {
    transform: rotate(2deg) translateY(-4px);
  }
}
.axie-profile-body {
  min-width: 0;
}

.axie-profile-name {
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: clamp(34px, 4.8vw, 58px);
  line-height: 1;
  letter-spacing: -0.03em;
  margin: 0 0 14px;
  color: var(--axie-ink);
  font-variation-settings: "wdth" 95;
}
.axie-profile-name .axie-profile-agent-badge {
  display: inline-block;
  margin-left: 12px;
  padding: 4px 10px;
  background: var(--axie-red);
  color: var(--axie-paper-2);
  border: var(--axie-outline-thin);
  border-radius: var(--axie-radius-pill);
  box-shadow: 2px 2px 0 var(--axie-shadow-col);
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  vertical-align: middle;
}

.axie-profile-bio {
  font-family: var(--axie-f-body);
  font-size: 16px;
  font-weight: 500;
  color: var(--axie-ink-soft);
  line-height: 1.55;
  margin: 0 0 14px;
  max-width: 60ch;
}

.axie-profile-meta {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}
.axie-profile-meta .chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 11px;
  background: var(--axie-paper-2);
  color: var(--axie-ink);
  border: var(--axie-outline-thin);
  border-radius: var(--axie-radius-pill);
  box-shadow: 2px 2px 0 var(--axie-shadow-col);
  font-family: var(--axie-f-body);
  font-size: 12px;
  font-weight: 500;
  font-family: var(--axie-f-mono);
  color: var(--axie-ink);
}
.axie-profile-meta .chip strong {
  font-weight: 700;
}
.axie-profile-meta .chip.private {
  background: var(--axie-yellow);
}

.axie-profile-badge-titles {
  list-style: none;
  padding: 0;
  margin: 12px 0 0;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.axie-title-badge {
  padding: 4px 11px;
  background: var(--axie-lavender);
  border: var(--axie-outline-thin);
  border-radius: var(--axie-radius-pill);
  box-shadow: 2px 2px 0 var(--axie-shadow-col);
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--axie-ink);
  font-variation-settings: "wdth" 95;
}

/* ─── Stat grid (sticker cards with colored ribbons) ─── */
.axie-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-bottom: 40px;
}
@media (max-width: 920px) {
  .axie-stat-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 460px) {
  .axie-stat-grid {
    grid-template-columns: 1fr;
  }
}

.axie-stat {
  position: relative;
  padding: 24px 22px 22px;
  background: var(--axie-paper-2);
  border: var(--axie-outline);
  border-radius: var(--axie-radius-xl);
  box-shadow: 5px 5px 0 var(--axie-shadow-col);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.axie-stat::before {
  content: "";
  position: absolute;
  top: -2.5px;
  left: -2.5px;
  right: -2.5px;
  height: 10px;
  border: var(--axie-outline);
  border-bottom: 0;
  border-top-left-radius: var(--axie-radius-xl);
  border-top-right-radius: var(--axie-radius-xl);
}
.axie-stat:hover {
  transform: translate(-2px, -2px);
  box-shadow: 6px 6px 0 var(--axie-shadow-col);
}
.axie-stat .stat-num {
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 42px;
  line-height: 1;
  color: var(--axie-ink);
  font-variation-settings: "wdth" 95;
  margin-top: 4px;
}
.axie-stat .stat-lbl {
  font-family: var(--axie-f-mono);
  font-size: 11px;
  font-weight: 600;
  color: var(--axie-ink-soft);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-top: 8px;
}

/* Per-card ribbon color (cycle 4) */
.axie-stat-grid > .axie-stat:nth-child(4n+1)::before {
  background: var(--axie-red);
}

.axie-stat-grid > .axie-stat:nth-child(4n+2)::before {
  background: var(--axie-lavender);
}

.axie-stat-grid > .axie-stat:nth-child(4n+3)::before {
  background: var(--axie-sky);
}

.axie-stat-grid > .axie-stat:nth-child(4n+4)::before {
  background: var(--axie-orange);
}

/* ─── Filter pills (used on profile, requests, activities pages) ─── */
.axie-filter-row,
.axie-profile-filters,
.axie-tab-row {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 24px;
  padding-bottom: 20px;
  border-bottom: 2px dashed rgba(var(--axie-ink-rgb), 0.22);
}

.axie-filter,
.axie-tab,
.axie-profile-filters a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  background: var(--axie-paper-2);
  border: var(--axie-outline-thin);
  border-radius: var(--axie-radius-pill);
  box-shadow: 2px 2px 0 var(--axie-shadow-col);
  cursor: pointer;
  font-family: var(--axie-f-display);
  font-weight: 700;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--axie-ink);
  text-decoration: none;
  font-variation-settings: "wdth" 95;
  transition: transform 0.12s ease, box-shadow 0.12s ease, background 0.12s ease;
}
.axie-filter:hover,
.axie-tab:hover,
.axie-profile-filters a:hover {
  transform: translate(-1px, -1px);
  box-shadow: 3px 3px 0 var(--axie-shadow-col);
  background: var(--axie-sky);
  color: var(--axie-ink);
}
.axie-filter .count,
.axie-tab .count,
.axie-profile-filters a .count {
  font-family: var(--axie-f-mono);
  font-size: 10px;
  font-weight: 600;
  padding: 2px 7px;
  background: var(--axie-paper);
  border: 1.5px solid var(--axie-ink);
  border-radius: var(--axie-radius-pill);
  color: var(--axie-ink-soft);
}
.axie-filter.is-active,
.axie-tab.is-active,
.axie-profile-filters a.is-active {
  background: var(--axie-pink);
  transform: translate(-1px, -1px);
  box-shadow: 3px 3px 0 var(--axie-shadow-col);
}
.axie-filter.is-active .count,
.axie-tab.is-active .count,
.axie-profile-filters a.is-active .count {
  background: var(--axie-ink);
  color: var(--axie-paper-2);
  border-color: var(--axie-ink);
}

/* ─── Sort dropdown (paired with filter row) ─── */
.axie-filter-spacer {
  flex: 1;
  min-width: 12px;
}

.axie-sort-select {
  appearance: none;
  padding: 8px 36px 8px 14px;
  background: var(--axie-paper-2);
  border: var(--axie-outline-thin);
  border-radius: var(--axie-radius-md);
  box-shadow: 2px 2px 0 var(--axie-shadow-col);
  font-family: var(--axie-f-mono);
  font-size: 12px;
  font-weight: 500;
  color: var(--axie-ink);
  cursor: pointer;
  background-image: linear-gradient(45deg, transparent 50%, var(--axie-ink) 50%), linear-gradient(135deg, var(--axie-ink) 50%, transparent 50%);
  background-position: calc(100% - 18px) calc(50% - 2px), calc(100% - 12px) calc(50% - 2px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  outline: none;
  transition: transform 0.12s ease, box-shadow 0.12s ease;
}
.axie-sort-select:hover {
  transform: translate(-1px, -1px);
  box-shadow: 3px 3px 0 var(--axie-shadow-col);
}

/* ─── Activity / contribution list ─── */
.axie-activity-list,
.axie-req-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.axie-activity,
.axie-req {
  display: grid;
  gap: 16px;
  padding: 20px 22px;
  background: var(--axie-paper-2);
  border: var(--axie-outline);
  border-radius: var(--axie-radius-lg);
  box-shadow: 4px 4px 0 var(--axie-shadow-col);
  color: var(--axie-ink);
  text-decoration: none;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.axie-activity:hover,
.axie-req:hover {
  transform: translate(-2px, -2px);
  box-shadow: 6px 6px 0 var(--axie-shadow-col);
  color: var(--axie-ink);
}

.axie-activity {
  grid-template-columns: 48px 1fr;
}

.axie-activity-ic {
  width: 44px;
  height: 44px;
  border-radius: var(--axie-radius-md);
  border: var(--axie-outline);
  display: grid;
  place-items: center;
  font-size: 22px;
  background: var(--axie-sky);
  box-shadow: 2px 2px 0 var(--axie-shadow-col);
  margin-top: 2px;
}

.axie-activity-action {
  font-family: var(--axie-f-body);
  font-size: 14.5px;
  font-weight: 500;
  color: var(--axie-ink);
  line-height: 1.5;
}

.axie-activity-headline {
  margin-top: 6px;
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: -0.005em;
  color: var(--axie-ink);
  font-variation-settings: "wdth" 95;
  line-height: 1.2;
}
.axie-activity-headline a {
  color: var(--axie-ink);
  text-decoration: none;
  border-bottom: 1.5px solid transparent;
}
.axie-activity-headline a:hover {
  color: var(--axie-pink-deep);
  border-color: var(--axie-pink-deep);
}

.axie-activity-snippet {
  margin-top: 10px;
  padding: 12px 16px;
  background: var(--axie-paper);
  border: var(--axie-outline-thin);
  border-left: 6px solid var(--axie-magenta);
  border-radius: 0 var(--axie-radius-md) var(--axie-radius-md) 0;
  box-shadow: 3px 3px 0 var(--axie-shadow-col);
  font-family: var(--axie-f-body);
  font-size: 13.5px;
  font-style: italic;
  color: var(--axie-ink-soft);
  line-height: 1.55;
}

.axie-activity-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 12px;
  font-family: var(--axie-f-mono);
  font-size: 11px;
  font-weight: 500;
  color: var(--axie-ink-soft);
  letter-spacing: 0.04em;
}
.axie-activity-meta .sep {
  color: var(--axie-ink-dim);
}
.axie-activity-meta strong {
  color: var(--axie-ink);
}

/* ─── Status tag (shared across requests pages) ─── */
.axie-status-tag {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 11px;
  border: var(--axie-outline-thin);
  border-radius: var(--axie-radius-pill);
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  box-shadow: 2px 2px 0 var(--axie-shadow-col);
  color: var(--axie-ink);
  font-variation-settings: "wdth" 95;
  flex-shrink: 0;
}
.axie-status-tag::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--axie-ink);
}
.axie-status-tag.pending {
  background: var(--axie-status-pending);
}
.axie-status-tag.open {
  background: var(--axie-status-open);
  color: var(--axie-paper-2);
}
.axie-status-tag.open::before {
  background: var(--axie-paper-2);
}
.axie-status-tag.progress {
  background: var(--axie-status-progress);
}
.axie-status-tag.solved {
  background: var(--axie-status-solved);
}
.axie-status-tag.closed {
  background: var(--axie-status-closed);
  color: var(--axie-paper-2);
}
.axie-status-tag.closed::before {
  background: var(--axie-paper-2);
}

/* ─── Requests list (My requests page) ─── */
.axie-req {
  grid-template-columns: 1fr auto;
  gap: 18px 24px;
}
@media (max-width: 640px) {
  .axie-req {
    grid-template-columns: 1fr;
  }
}

.axie-req-id {
  font-family: var(--axie-f-mono);
  font-size: 10.5px;
  font-weight: 600;
  color: var(--axie-ink-soft);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.axie-req-title {
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 18px;
  text-transform: uppercase;
  letter-spacing: -0.01em;
  margin: 4px 0 8px;
  color: var(--axie-ink);
  font-variation-settings: "wdth" 95;
  line-height: 1.15;
}

.axie-req-preview {
  font-family: var(--axie-f-body);
  font-size: 13.5px;
  font-weight: 500;
  color: var(--axie-ink-soft);
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.axie-req-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 12px;
  font-family: var(--axie-f-mono);
  font-size: 10.5px;
  font-weight: 500;
  color: var(--axie-ink-soft);
  letter-spacing: 0.04em;
}
.axie-req-meta .pill {
  padding: 3px 9px;
  background: var(--axie-paper);
  border: 1.5px solid var(--axie-ink);
  border-radius: var(--axie-radius-pill);
  color: var(--axie-ink);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.axie-req-meta strong {
  color: var(--axie-ink);
  font-weight: 700;
}
.axie-req-meta .sep {
  color: var(--axie-ink-dim);
}

.axie-req-side {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: space-between;
  gap: 10px;
}
@media (max-width: 640px) {
  .axie-req-side {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}

.axie-req-time {
  font-family: var(--axie-f-mono);
  font-size: 11px;
  font-weight: 500;
  color: var(--axie-ink-soft);
  white-space: nowrap;
}

/* ─── Load more sticker button ─── */
.axie-load-more-row {
  text-align: center;
  padding-top: 32px;
}

.axie-btn-ghost {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 11px 22px;
  background: var(--axie-paper-2);
  border: var(--axie-outline);
  border-radius: var(--axie-radius-md);
  box-shadow: 3px 3px 0 var(--axie-shadow-col);
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--axie-ink);
  text-decoration: none;
  cursor: pointer;
  font-variation-settings: "wdth" 95;
  transition: transform 0.12s ease, box-shadow 0.12s ease, background 0.12s ease;
}
.axie-btn-ghost:hover {
  transform: translate(-1px, -1px);
  box-shadow: 4px 4px 0 var(--axie-shadow-col);
  background: var(--axie-mint);
  color: var(--axie-ink);
}

/* ─── Badge list (profile badges tab) ─── */
.axie-badge-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
@media (max-width: 560px) {
  .axie-badge-list {
    grid-template-columns: 1fr;
  }
}

.axie-badge {
  display: grid;
  grid-template-columns: 56px 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 16px 18px;
  background: var(--axie-paper-2);
  border: var(--axie-outline);
  border-radius: var(--axie-radius-md);
  box-shadow: 3px 3px 0 var(--axie-shadow-col);
  /* No per-child rotation — kept aligned per v1.0.2 design polish */
}

.axie-badge-icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--axie-yellow);
  border: var(--axie-outline-thin);
  box-shadow: 2px 2px 0 var(--axie-shadow-col);
  display: grid;
  place-items: center;
  object-fit: cover;
  overflow: hidden;
}

.axie-badge-icon--fallback {
  font-family: var(--axie-f-display);
  font-size: 22px;
  color: var(--axie-ink);
}

.axie-badge-body strong {
  display: block;
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: -0.005em;
  color: var(--axie-ink);
  font-variation-settings: "wdth" 95;
  margin-bottom: 4px;
}

.axie-badge-body p {
  font-family: var(--axie-f-body);
  font-size: 12.5px;
  color: var(--axie-ink-soft);
  margin: 0;
  line-height: 1.45;
}

.axie-badge-date {
  font-family: var(--axie-f-mono);
  font-size: 10.5px;
  color: var(--axie-ink-soft);
  text-align: right;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.axie-badge-date strong {
  color: var(--axie-ink);
}

/* ─── Empty state ─── */
.axie-profile-empty {
  padding: 40px 20px;
  text-align: center;
  background: var(--axie-paper-2);
  border: 2px dashed var(--axie-ink);
  border-radius: var(--axie-radius-lg);
  font-family: var(--axie-f-body);
  font-size: 15px;
  font-weight: 500;
  color: var(--axie-ink-soft);
}

/* ─── Request detail page — status banner, thread, reply box, sidebar ─── */
.axie-ticket-head {
  display: flex;
  align-items: baseline;
  gap: 14px;
  flex-wrap: wrap;
}

.axie-ticket-id {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  background: var(--axie-paper-2);
  border: var(--axie-outline-thin);
  border-radius: var(--axie-radius-sm);
  box-shadow: 2px 2px 0 var(--axie-shadow-col);
  font-family: var(--axie-f-mono);
  font-size: 13px;
  font-weight: 600;
  color: var(--axie-ink);
  letter-spacing: 0.04em;
}

.axie-ticket-title {
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: clamp(28px, 3.8vw, 44px);
  line-height: 1.05;
  letter-spacing: -0.025em;
  margin: 0;
  color: var(--axie-ink);
  font-variation-settings: "wdth" 95;
}

.axie-status-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  padding: 16px 22px;
  background: var(--axie-yellow);
  border: var(--axie-outline);
  border-radius: var(--axie-radius-lg);
  box-shadow: 4px 4px 0 var(--axie-shadow-col);
  margin-bottom: 22px;
}
.axie-status-bar .info {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.axie-status-bar .info .meta {
  font-family: var(--axie-f-mono);
  font-size: 11px;
  font-weight: 500;
  color: var(--axie-ink);
}
.axie-status-bar .info .meta strong {
  display: block;
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-top: 2px;
  font-variation-settings: "wdth" 95;
}
.axie-status-bar .btn-reply {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  background: var(--axie-ink);
  color: var(--axie-paper-2);
  border: var(--axie-outline);
  border-radius: var(--axie-radius-md);
  box-shadow: 3px 3px 0 var(--axie-shadow-col);
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  text-decoration: none;
  font-variation-settings: "wdth" 95;
  transition: transform 0.12s ease, box-shadow 0.12s ease;
}
.axie-status-bar .btn-reply:hover {
  transform: translate(-1px, -1px);
  box-shadow: 4px 4px 0 var(--axie-shadow-col);
  color: var(--axie-paper-2);
}

/* Message thread */
.axie-thread {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.axie-msg {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 16px;
  padding: 22px;
  background: var(--axie-paper-2);
  border: var(--axie-outline);
  border-radius: var(--axie-radius-lg);
  box-shadow: 4px 4px 0 var(--axie-shadow-col);
  position: relative;
}
.axie-msg.axie-msg--agent {
  background: linear-gradient(180deg, rgba(168, 224, 255, 0.2), var(--axie-paper-2));
}
.axie-msg.axie-msg--agent::before {
  content: "";
  position: absolute;
  top: -2.5px;
  left: -2.5px;
  bottom: -2.5px;
  width: 8px;
  background: var(--axie-red);
  border: var(--axie-outline);
  border-right: 0;
  border-top-left-radius: var(--axie-radius-lg);
  border-bottom-left-radius: var(--axie-radius-lg);
}

.axie-msg-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--axie-pink);
  border: var(--axie-outline);
  display: grid;
  place-items: center;
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 14px;
  color: var(--axie-ink);
  box-shadow: 2px 2px 0 var(--axie-shadow-col);
  font-variation-settings: "wdth" 95;
  overflow: hidden;
}
.axie-msg--agent .axie-msg-avatar {
  background: var(--axie-sky);
}
.axie-msg-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}

.axie-msg-head {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}

.axie-msg-name {
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: -0.005em;
  color: var(--axie-ink);
  font-variation-settings: "wdth" 95;
}

.axie-msg-role {
  padding: 2px 8px;
  background: var(--axie-red);
  color: var(--axie-paper-2);
  border: 1.5px solid var(--axie-ink);
  border-radius: var(--axie-radius-sm);
  box-shadow: 1.5px 1.5px 0 var(--axie-ink);
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-variation-settings: "wdth" 95;
}

.axie-msg-time {
  margin-left: auto;
  font-family: var(--axie-f-mono);
  font-size: 11px;
  font-weight: 500;
  color: var(--axie-ink-soft);
  letter-spacing: 0.04em;
}

.axie-msg-body {
  font-family: var(--axie-f-body);
  font-size: 15px;
  line-height: 1.65;
  color: var(--axie-ink);
}
.axie-msg-body > * + * {
  margin-top: 0.8em;
}
.axie-msg-body p {
  margin: 0;
}
.axie-msg-body a {
  color: var(--axie-pink-deep);
  border-bottom: 1.5px solid var(--axie-pink-deep);
  padding-bottom: 1px;
  text-decoration: none;
}
.axie-msg-body code {
  font-family: var(--axie-f-mono);
  font-size: 0.88em;
  padding: 2px 7px;
  background: var(--axie-paper);
  border: 1.5px solid var(--axie-ink);
  border-radius: var(--axie-radius-sm);
  color: var(--axie-ink);
  box-shadow: 1.5px 1.5px 0 var(--axie-ink);
}

.axie-msg-attachments {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 12px;
}
.axie-msg-attachments a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  background: var(--axie-paper);
  border: var(--axie-outline-thin);
  border-radius: var(--axie-radius-sm);
  box-shadow: 2px 2px 0 var(--axie-shadow-col);
  font-family: var(--axie-f-mono);
  font-size: 11px;
  font-weight: 500;
  color: var(--axie-ink);
  text-decoration: none;
}
.axie-msg-attachments a:hover {
  background: var(--axie-mint);
}

/* Reply box */
.axie-reply-box {
  margin-top: 32px;
  padding: 26px;
  background: var(--axie-paper-2);
  border: var(--axie-outline);
  border-radius: var(--axie-radius-xl);
  box-shadow: 5px 5px 0 var(--axie-shadow-col);
  position: relative;
}
.axie-reply-box::before {
  content: "";
  position: absolute;
  top: -2.5px;
  left: -2.5px;
  right: -2.5px;
  height: 12px;
  background: var(--axie-pink);
  border: var(--axie-outline);
  border-bottom: 0;
  border-top-left-radius: var(--axie-radius-xl);
  border-top-right-radius: var(--axie-radius-xl);
}
.axie-reply-box h3 {
  padding-top: 8px;
  margin: 0 0 14px;
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: -0.005em;
  color: var(--axie-ink);
  font-variation-settings: "wdth" 95;
}

.axie-reply-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 14px;
  flex-wrap: wrap;
  gap: 10px;
}

/* Right sidebar meta cards (request info, timeline, related) */
.axie-meta-cards {
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: sticky;
  top: 96px;
}
@media (max-width: 980px) {
  .axie-meta-cards {
    position: static;
  }
}

.axie-meta-card {
  background: var(--axie-paper-2);
  border: var(--axie-outline);
  border-radius: var(--axie-radius-lg);
  box-shadow: 4px 4px 0 var(--axie-shadow-col);
  padding: 18px 20px;
}
.axie-meta-card h4 {
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--axie-ink);
  margin: 0 0 12px;
  font-variation-settings: "wdth" 95;
}

.axie-meta-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 9px 0;
  border-bottom: 2px dashed rgba(var(--axie-ink-rgb), 0.18);
}
.axie-meta-row:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
.axie-meta-row .k {
  font-family: var(--axie-f-mono);
  font-size: 10px;
  font-weight: 600;
  color: var(--axie-ink-soft);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.axie-meta-row .v {
  font-family: var(--axie-f-body);
  font-size: 13px;
  font-weight: 600;
  color: var(--axie-ink);
  text-align: right;
  /* Long values (Ronin addresses, tx hashes, etc.) MUST wrap inside the
     card — without this they break past the right border. */
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.axie-meta-row .v.mono {
  font-family: var(--axie-f-mono);
  font-size: 11.5px;
  word-break: break-all;
}
.axie-meta-row .v.trunc {
  max-width: 12ch;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: help;
}
.axie-meta-row .v.empty {
  color: var(--axie-ink-dim);
  font-weight: 500;
}

.axie-form-fields-header {
  margin: 14px -4px 6px;
  padding: 8px 12px;
  background: var(--axie-paper);
  border: 2px dashed var(--axie-ink);
  border-radius: var(--axie-radius-sm);
  font-family: var(--axie-f-mono);
  font-size: 10px;
  font-weight: 600;
  color: var(--axie-ink-soft);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-align: center;
}
.axie-form-fields-header strong {
  color: var(--axie-ink);
  font-weight: 700;
}

/* Timeline */
.axie-timeline {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding-top: 4px;
}

.axie-timeline-item {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 6px 0;
  position: relative;
}
.axie-timeline-item:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 22px;
  bottom: -8px;
  width: 2px;
  background: repeating-linear-gradient(180deg, var(--axie-ink) 0 4px, transparent 4px 8px);
}
.axie-timeline-item .dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--axie-paper);
  border: var(--axie-outline);
  flex-shrink: 0;
  margin-top: 3px;
  box-shadow: 1.5px 1.5px 0 var(--axie-ink);
}
.axie-timeline-item.is-current .dot {
  background: var(--axie-yellow);
  box-shadow: 1.5px 1.5px 0 var(--axie-ink), 0 0 0 4px rgba(255, 200, 90, 0.4);
  animation: axieTimelinePulse 1.8s ease-in-out infinite;
}
.axie-timeline-item .label {
  font-family: var(--axie-f-display);
  font-weight: 700;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--axie-ink);
  line-height: 1.2;
  font-variation-settings: "wdth" 95;
}
.axie-timeline-item .ts {
  display: block;
  margin-top: 3px;
  font-family: var(--axie-f-mono);
  font-size: 10.5px;
  font-weight: 500;
  color: var(--axie-ink-soft);
  letter-spacing: 0.04em;
}

@keyframes axieTimelinePulse {
  50% {
    box-shadow: 1.5px 1.5px 0 var(--axie-ink), 0 0 0 6px rgba(255, 200, 90, 0.5);
  }
}
/* ─── Wide single-column body (requests, contributions pages) ─── */
.axie-body-inner-wide {
  max-width: 1180px;
  margin: 0 auto;
}

/* ─── React request-list host — lightly themes the Garden table rendered inside ─── */
.axie-request-list-host {
  /* Garden table — strip default chrome, apply sticker-paper feel */
  /* Row subject link */
  /* Status pills — Garden renders these with various class names, target broadly */
  /* Re-color by status — Garden adds modifier class names like "status-label-solved" */
  /* ─── Search + filter inputs ───
     Garden nests inputs across multiple wrappers (form → role=search → Styled
     MediaInput → Styled FauxInput → real <input>). Applying sticker chrome at
     more than one level produced the nested double-box. Strategy: scope sticker
     chrome to the OUTERMOST form ONLY, reset every nested element to transparent. */
  /* Sticker chrome on the OUTER form only */
  /* Reset every nested element so no inner double-frame appears */
  /* The actual <input> sits chromeless inside the form */
  /* Filter / sort buttons */
  /* Tabs (My requests / CC'd on) */
  /* Pagination */
}
.axie-request-list-host table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--axie-paper-2);
  border: var(--axie-outline);
  border-radius: var(--axie-radius-xl);
  box-shadow: 5px 5px 0 var(--axie-shadow-col);
  overflow: hidden;
  margin-top: 8px;
}
.axie-request-list-host thead {
  background: var(--axie-paper-3);
  border-bottom: 2px solid var(--axie-ink);
}
.axie-request-list-host thead th {
  padding: 14px 18px;
  text-align: left;
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--axie-ink);
  font-variation-settings: "wdth" 95;
  border-bottom: 2px solid var(--axie-ink);
}
.axie-request-list-host tbody tr {
  transition: background 0.12s ease;
}
.axie-request-list-host tbody tr:hover {
  background: rgba(255, 143, 177, 0.1);
}
.axie-request-list-host tbody td {
  padding: 14px 18px;
  border-bottom: 2px dashed rgba(var(--axie-ink-rgb), 0.18);
  font-family: var(--axie-f-body);
  font-size: 14px;
  color: var(--axie-ink);
}
.axie-request-list-host tbody tr:last-child td {
  border-bottom: 0;
}
.axie-request-list-host a {
  color: var(--axie-ink);
  text-decoration: none;
  font-weight: 600;
  border-bottom: 1.5px solid transparent;
}
.axie-request-list-host a:hover {
  color: var(--axie-pink-deep);
  border-color: var(--axie-pink-deep);
}
.axie-request-list-host [class*=StyledTag],
.axie-request-list-host [data-garden-id*=tag],
.axie-request-list-host .StatusLabel,
.axie-request-list-host .status-label {
  display: inline-flex !important;
  align-items: center;
  gap: 5px;
  padding: 4px 11px !important;
  border: var(--axie-outline-thin) !important;
  border-radius: var(--axie-radius-pill) !important;
  box-shadow: 2px 2px 0 var(--axie-shadow-col);
  font-family: var(--axie-f-display) !important;
  font-weight: 900 !important;
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  font-variation-settings: "wdth" 95;
  background: var(--axie-paper) !important;
  color: var(--axie-ink) !important;
}
.axie-request-list-host .status-label-new,
.axie-request-list-host .status-label-open {
  background: var(--axie-status-open) !important;
  color: var(--axie-paper-2) !important;
}
.axie-request-list-host .status-label-pending {
  background: var(--axie-status-pending) !important;
  color: var(--axie-ink) !important;
}
.axie-request-list-host .status-label-hold {
  background: var(--axie-status-progress) !important;
  color: var(--axie-ink) !important;
}
.axie-request-list-host .status-label-solved {
  background: var(--axie-status-solved) !important;
  color: var(--axie-ink) !important;
}
.axie-request-list-host .status-label-closed {
  background: var(--axie-status-closed) !important;
  color: var(--axie-paper-2) !important;
}
.axie-request-list-host .status-label-on-hold {
  background: var(--axie-status-progress) !important;
  color: var(--axie-ink) !important;
}
.axie-request-list-host form {
  background: var(--axie-paper) !important;
  border: var(--axie-outline-thin) !important;
  border-radius: var(--axie-radius-md) !important;
  box-shadow: 2px 2px 0 var(--axie-shadow-col) !important;
  padding: 6px 12px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  transition: box-shadow 0.12s ease;
}
.axie-request-list-host form:focus-within {
  box-shadow: 3px 3px 0 var(--axie-shadow-col), 0 0 0 3px rgba(255, 143, 177, 0.25) !important;
}
.axie-request-list-host form > *,
.axie-request-list-host form [class*=StyledMediaInput],
.axie-request-list-host form [class*=StyledTextInput],
.axie-request-list-host form [class*=StyledFauxInput],
.axie-request-list-host form [data-garden-id*=forms],
.axie-request-list-host form [role=search] {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
}
.axie-request-list-host form input[type=search],
.axie-request-list-host form input[type=text],
.axie-request-list-host form input:not([type]) {
  flex: 1 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 6px 4px !important;
  font-family: var(--axie-f-body) !important;
  font-size: 14px !important;
  color: var(--axie-ink) !important;
  outline: none !important;
  appearance: none;
  -webkit-appearance: none;
  /* Kill Safari/Chrome native search clear button */
}
.axie-request-list-host form input[type=search]::-webkit-search-cancel-button, .axie-request-list-host form input[type=search]::-webkit-search-decoration, .axie-request-list-host form input[type=search]::-webkit-search-results-button,
.axie-request-list-host form input[type=text]::-webkit-search-cancel-button,
.axie-request-list-host form input[type=text]::-webkit-search-decoration,
.axie-request-list-host form input[type=text]::-webkit-search-results-button,
.axie-request-list-host form input:not([type])::-webkit-search-cancel-button,
.axie-request-list-host form input:not([type])::-webkit-search-decoration,
.axie-request-list-host form input:not([type])::-webkit-search-results-button {
  display: none;
}
.axie-request-list-host button {
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-variation-settings: "wdth" 95;
}
.axie-request-list-host [role=tablist] {
  border-bottom: 2px dashed rgba(var(--axie-ink-rgb), 0.22) !important;
  margin-bottom: 20px;
}
.axie-request-list-host [role=tablist] [role=tab] {
  font-family: var(--axie-f-display) !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: var(--axie-ink-soft) !important;
  font-variation-settings: "wdth" 95;
}
.axie-request-list-host [role=tablist] [role=tab][aria-selected=true] {
  color: var(--axie-ink) !important;
  border-bottom: 3px solid var(--axie-red) !important;
}
.axie-request-list-host [class*=StyledPagination] button,
.axie-request-list-host .pagination button {
  background: var(--axie-paper-2);
  border: var(--axie-outline-thin);
  border-radius: var(--axie-radius-sm);
  box-shadow: 2px 2px 0 var(--axie-shadow-col);
  padding: 6px 12px;
}
.axie-request-list-host [class*=StyledPagination] button:hover,
.axie-request-list-host .pagination button:hover {
  background: var(--axie-mint);
}

/* ─── Per-type activity icon colors (matches mockup) ─── */
.axie-activity.activity-article .axie-activity-ic,
.axie-activity-list li:has(.axie-activity-ic) .axie-activity-ic[data-type=article] {
  background: var(--axie-sky);
}

.axie-activity.activity-post .axie-activity-ic {
  background: var(--axie-pink);
}

.axie-activity.activity-comment .axie-activity-ic {
  background: var(--axie-sky);
}

.axie-activity.activity-vote-up .axie-activity-ic {
  background: var(--axie-mint);
}

/* ─── Comment callout (e.g., "This request is closed for comments") ─── */
.axie-comment-callout {
  margin: 28px 0 0;
  padding: 14px 18px;
  background: var(--axie-yellow);
  border: var(--axie-outline-thin);
  border-radius: var(--axie-radius-md);
  box-shadow: 3px 3px 0 var(--axie-shadow-col);
  font-family: var(--axie-f-body);
  font-size: 13.5px;
  color: var(--axie-ink);
}
.axie-comment-callout:empty {
  display: none;
}
.axie-comment-callout a {
  color: var(--axie-pink-deep);
  border-bottom: 1.5px solid var(--axie-pink-deep);
}

/* ─── Reply form internals — light Garden override ─── */
.axie-reply-box .axie-mark-solved {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.axie-reply-box .axie-mark-solved input[type=checkbox] {
  width: 18px;
  height: 18px;
  accent-color: var(--axie-pink-deep);
}
.axie-reply-box .axie-mark-solved label {
  font-family: var(--axie-f-body);
  font-size: 13.5px;
  color: var(--axie-ink);
}

.axie-reply-box .axie-reply-submit input[type=submit] {
  background: var(--axie-red) !important;
  color: var(--axie-ink) !important;
  border: var(--axie-outline) !important;
  border-radius: var(--axie-radius-md) !important;
  box-shadow: 4px 4px 0 var(--axie-shadow-col) !important;
  padding: 12px 24px !important;
  font-family: var(--axie-f-display) !important;
  font-weight: 900 !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  cursor: pointer;
  font-variation-settings: "wdth" 95;
  transition: transform 0.12s ease, box-shadow 0.12s ease !important;
}
.axie-reply-box .axie-reply-submit input[type=submit]:hover {
  transform: translate(-1px, -1px) !important;
  box-shadow: 5px 5px 0 var(--axie-shadow-col) !important;
}

.axie-reply-box .axie-ccs-field {
  margin-bottom: 16px;
}
.axie-reply-box .axie-ccs-field label {
  display: block;
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--axie-ink);
  margin-bottom: 8px;
  font-variation-settings: "wdth" 95;
}

.axie-reply-box .axie-reply-attachments {
  margin-top: 12px;
}

/* Hide Copenhagen's legacy profile chrome */
.profile-header,
.profile-info,
.profile-nav,
.profile-section,
.collapsible-nav {
  display: none;
}

.my-activities-nav,
.my-activities-header,
.my-activities-sub-nav,
.my-activities-table,
.request-container:not(.axie-body-grid):not(.axie-body-grid-reverse),
.request-breadcrumbs,
.request-sidebar:not(.axie-meta-cards),
.request-main:not(.axie-main),
.request-title:not(.axie-ticket-title) {
  display: none;
}

/* ============================================================
   Axie Support — Search results page
   ============================================================
   Simplified vs Copenhagen: dropped the heavy collapsible-sidebar
   filter setup, replaced with a horizontal pill row at the top
   (re-uses .axie-filter-row from _axie-user-pages.scss).

   Each result is a sticker card with title, breadcrumb, snippet,
   author + date footer. No-results state has the Mit mascot.
   ============================================================ */
/* Hero search variant — slightly wider input than home command bar */
.axie-cmd--search {
  margin-top: 18px;
  margin-left: 0;
  max-width: 580px;
  transform: rotate(0); /* keep search bar straight, not rotated */
}
.axie-cmd--search:focus-within {
  transform: translate(-2px, -2px);
}

/* Hide Copenhagen's legacy search-results chrome */
.search-results,
.search-results-sidebar,
.search-results-column:not(.axie-main),
.search-results-list:not(.axie-search-results),
.search-results-subheading,
.no-results {
  display: none;
}

/* ─── Sticker result cards ─── */
.axie-search-results {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.axie-search-result {
  background: var(--axie-paper-2);
  border: var(--axie-outline);
  border-radius: var(--axie-radius-lg);
  box-shadow: 4px 4px 0 var(--axie-shadow-col);
  padding: 20px 22px;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.axie-search-result:hover {
  transform: translate(-2px, -2px);
  box-shadow: 6px 6px 0 var(--axie-shadow-col);
}

.axie-search-result-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}

.axie-search-result-title {
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 18px;
  text-transform: uppercase;
  letter-spacing: -0.01em;
  line-height: 1.15;
  margin: 0;
  font-variation-settings: "wdth" 95;
  flex: 1;
}
.axie-search-result-title a {
  color: var(--axie-ink);
  text-decoration: none;
  border-bottom: 2px solid transparent;
  transition: color 0.15s ease, border-color 0.15s ease;
}
.axie-search-result-title a:hover {
  color: var(--axie-pink-deep);
  border-color: var(--axie-pink-deep);
}

.axie-search-result-meta {
  display: flex;
  gap: 6px;
  flex-shrink: 0;
}
.axie-search-result-meta .meta-pill {
  padding: 3px 9px;
  background: var(--axie-paper);
  border: 1.5px solid var(--axie-ink);
  border-radius: var(--axie-radius-pill);
  box-shadow: 2px 2px 0 var(--axie-shadow-col);
  font-family: var(--axie-f-mono);
  font-size: 11px;
  font-weight: 600;
  color: var(--axie-ink);
}

.axie-search-result-breadcrumb {
  margin: 0 0 8px;
}
.axie-search-result-breadcrumb ol.breadcrumbs li a {
  /* Override the auto-breadcrumb sticker treatment for inline result rows
     — smaller, no shadow, just a subtle inline link */
  padding: 1px 0 !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--axie-ink-soft) !important;
  font-size: 10.5px !important;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.axie-search-result-breadcrumb ol.breadcrumbs li a:hover {
  transform: none !important;
  box-shadow: none !important;
  background: none !important;
  color: var(--axie-pink-deep) !important;
}
.axie-search-result-breadcrumb ol.breadcrumbs li:last-child a {
  background: none !important;
  transform: none !important;
}

.axie-search-result-snippet {
  font-family: var(--axie-f-body);
  font-size: 14px;
  font-weight: 500;
  color: var(--axie-ink-soft);
  line-height: 1.55;
  margin: 0 0 12px;
}
.axie-search-result-snippet em {
  /* Zendesk wraps matched query in <em> */
  font-style: normal;
  font-weight: 700;
  color: var(--axie-ink);
  background: rgba(255, 200, 90, 0.45);
  padding: 0 2px;
  border-radius: 3px;
}

.axie-search-result-foot {
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: var(--axie-f-mono);
  font-size: 11px;
  font-weight: 500;
  color: var(--axie-ink-soft);
  letter-spacing: 0.04em;
}
.axie-search-result-foot .sep {
  color: var(--axie-ink-dim);
}

/* ─── No-results state ─── */
.axie-no-results {
  text-align: center;
  padding: 60px 30px;
  background: var(--axie-paper-2);
  border: 3px dashed var(--axie-ink);
  border-radius: var(--axie-radius-2xl);
}
.axie-no-results .axie-no-results-art {
  width: 140px;
  height: auto;
  margin: 0 auto 20px;
  display: block;
  filter: drop-shadow(3px 5px 0 rgba(var(--axie-ink-rgb), 0.18));
  animation: axieNoResultsFloat 5s ease-in-out infinite;
}
.axie-no-results h2 {
  font-family: var(--axie-f-display);
  font-weight: 900;
  font-size: 26px;
  text-transform: uppercase;
  letter-spacing: -0.015em;
  color: var(--axie-ink);
  margin: 0 0 8px;
  font-variation-settings: "wdth" 95;
}
.axie-no-results p {
  font-family: var(--axie-f-body);
  font-size: 15px;
  font-weight: 500;
  color: var(--axie-ink-soft);
  margin: 0 0 24px;
  line-height: 1.55;
}

@keyframes axieNoResultsFloat {
  0%, 100% {
    transform: translateY(0) rotate(-2deg);
  }
  50% {
    transform: translateY(-6px) rotate(2deg);
  }
}
/***** Notifications *****/
.notification {
  border: 1px solid;
  display: table;
  font-family: sans-serif;
  font-size: 12px;
  padding: 13px 15px;
  transition: height 0.2s;
  width: 100%;
  color: #555;
}

.notification a {
  color: #158ec2;
}

.notification-inner {
  margin: 0 auto;
  padding: 0 20px;
  max-width: 980px;
}

.notification-icon, .notification-inline.notification-error::before, .notification-text, .notification-dismiss {
  display: table-cell;
  vertical-align: middle;
}

.notification-text {
  padding: 0 15px;
  width: 100%;
}

.notification + .notification {
  margin-bottom: -1px;
  position: relative;
  top: -1px;
}

/* Error */
.notification-error {
  background: #ffeded;
  border-color: #f7cbcb;
}

.notification-error .notification-icon::before, .notification-error .notification-inline.notification-error::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' focusable='false' viewBox='0 0 12 12'%3E%3Cg fill='none' stroke='%23555555'%3E%3Ccircle cx='5.5' cy='6.5' r='5'/%3E%3Cpath stroke-linecap='round' d='M5.5 3.5v3'/%3E%3C/g%3E%3Ccircle cx='5.5' cy='9' r='1' fill='%23555555'/%3E%3C/svg%3E");
}

/* Notice */
.notification-notice {
  background: #dbf3ff;
  border-color: #b5e0f5;
}

.notification-notice .notification-icon::before, .notification-notice .notification-inline.notification-error::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' focusable='false' viewBox='0 0 12 12'%3E%3Cg fill='none' stroke='%23555555'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M3.5 6l2 2L9 4.5'/%3E%3Ccircle cx='6' cy='6' r='5.5'/%3E%3C/g%3E%3C/svg%3E");
}

/* Alert / Lock */
.notification-alert {
  color: #ad5e18;
  background: #fff8ed;
  border-color: #fcdba9;
}

.notification-alert .notification-icon::before, .notification-alert .notification-inline.notification-error::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' focusable='false' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%23ad5e18' stroke-linecap='round' d='M5.06 1.27l-4.5 8.5c-.18.33.06.73.44.73h9c.38 0 .62-.4.44-.73l-4.5-8.5a.494.494 0 00-.88 0zM5.5 4v2'/%3E%3Ccircle cx='5.5' cy='8' r='.8' fill='%23ad5e18'/%3E%3C/svg%3E");
}

.notification-icon::before, .notification-inline.notification-error::before {
  background-size: cover;
  content: "";
  display: inline-block;
  height: 14px;
  width: 14px;
  vertical-align: middle;
}

/* Dismiss button */
.notification-dismiss, a.notification-dismiss {
  color: #555;
  cursor: pointer;
  opacity: 0.6;
  transition: opacity 100ms ease;
  text-decoration: none !important;
}

.notification-dismiss:hover {
  opacity: 1;
}

/* Inline notifications */
.notification-inline {
  border-radius: 4px;
  line-height: 14px;
  margin-top: 5px;
  padding: 5px;
  position: relative;
  text-align: left;
  vertical-align: middle;
}
[dir=rtl] .notification-inline {
  text-align: right;
}
.notification-inline[aria-hidden=true] {
  display: none;
}
.notification-inline.notification-error::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' focusable='false' viewBox='0 0 12 12'%3E%3Cg fill='none' stroke='%23e35b66'%3E%3Ccircle cx='5.5' cy='6.5' r='5'/%3E%3Cpath stroke-linecap='round' d='M5.5 3.5v3'/%3E%3C/g%3E%3Ccircle cx='5.5' cy='9' r='1' fill='%23e35b66'/%3E%3C/svg%3E");
  margin: -2px 5px 0 0;
}
[dir=rtl] .notification-inline.notification-error::before {
  margin: 0 0 0 5px;
}
.notification-inline.notification-error {
  background-color: #fff0f1;
  border: 1px solid #e35b66;
  color: #cc3340;
}
.notification-inline.notification-large {
  padding: 13px 15px;
  margin-bottom: 25px;
}

.notification-left-aligned {
  text-align: left;
  padding-left: 0;
}

html[dir=rtl] .notification-left-aligned {
  text-align: right;
  padding-left: auto;
  padding-right: 0;
}

.dropdown {
  position: relative;
  display: inline-block;
}

.dropdown-toggle {
  cursor: pointer;
  background: none;
  border: 0;
  display: inline-block;
  padding: 0;
  text-align: initial;
  vertical-align: middle;
}
.dropdown-toggle:hover {
  text-decoration: none;
}
.dropdown-toggle > * {
  display: inline-block;
}
.dropdown-toggle[aria-expanded=true] + .dropdown-menu {
  display: block;
}

.dropdown-menu {
  background: #fff;
  border: 1px solid #d8dcde;
  border-radius: 3px;
  box-shadow: 0px 20px 30px 0px rgba(23, 73, 77, 0.15);
  display: none;
  font-size: 14px;
  font-style: normal;
  font-weight: normal;
  left: 0;
  margin-top: 1px;
  min-width: 170px;
  padding: 10px 0;
  position: absolute;
  text-align: left;
  z-index: 1000;
}
[dir=rtl] .dropdown-menu {
  text-align: right;
}
.dropdown-menu [role=separator] {
  border-bottom: 1px solid #e9ebed;
  margin: 4px 0;
}
.dropdown-menu [role=menuitem],
.dropdown-menu [role=menuitemradio] {
  color: #2f3941;
  cursor: pointer;
  display: block;
  padding: 7px 40px 7px 20px;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
  -webkit-appearance: none;
  text-align: start;
  line-height: inherit;
  width: 100%;
}
[dir=rtl] .dropdown-menu [role=menuitem],
[dir=rtl] .dropdown-menu [role=menuitemradio] {
  padding: 7px 20px 7px 40px;
}
.dropdown-menu [role=menuitem]:hover, .dropdown-menu [role=menuitem]:focus,
.dropdown-menu [role=menuitemradio]:hover,
.dropdown-menu [role=menuitemradio]:focus {
  background: rgba(31, 115, 183, 0.08);
  text-decoration: none;
  color: #2f3941;
}
.dropdown-menu [role=menuitem][aria-selected=true], .dropdown-menu [role=menuitem][aria-checked=true],
.dropdown-menu [role=menuitemradio][aria-selected=true],
.dropdown-menu [role=menuitemradio][aria-checked=true] {
  cursor: default;
}
.dropdown-menu [role=menuitem][aria-selected=true]::after, .dropdown-menu [role=menuitem][aria-checked=true]::after,
.dropdown-menu [role=menuitemradio][aria-selected=true]::after,
.dropdown-menu [role=menuitemradio][aria-checked=true]::after {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M1 7l3 3 7-7'%3E%3C/path%3E%3C/svg%3E");
  display: inline-block;
  height: 12px;
  margin-left: 10px;
  width: 12px;
}
[dir=rtl] .dropdown-menu [role=menuitem][aria-selected=true]::after, [dir=rtl] .dropdown-menu [role=menuitem][aria-checked=true]::after,
[dir=rtl] .dropdown-menu [role=menuitemradio][aria-selected=true]::after,
[dir=rtl] .dropdown-menu [role=menuitemradio][aria-checked=true]::after {
  margin-left: 0;
  margin-right: 10px;
  float: left;
}
.dropdown-menu [role=menuitem][hidden], .dropdown-menu [role=menuitem][aria-hidden=true],
.dropdown-menu [role=menuitemradio][hidden],
.dropdown-menu [role=menuitemradio][aria-hidden=true] {
  display: none !important;
}

.dropdown-menu-end {
  left: auto;
  right: 0;
}

.dropdown-menu-top {
  bottom: 100%;
  margin-bottom: 1px;
}

[dir=rtl] .dropdown-menu {
  left: auto;
  right: 0;
  text-align: right;
}
[dir=rtl] .dropdown-menu-end {
  left: 0;
  right: auto;
}

.dropdown-chevron-icon {
  vertical-align: middle;
}

.content-tags > p {
  color: #68737D;
  margin-top: 32px;
  margin-bottom: 4px;
}
.content-tags-add-hint {
  color: #68737D;
  font-size: 14px;
}

.content-tag-list {
  display: flex;
  flex-wrap: wrap;
  word-break: break-word;
}
.content-tag-list li {
  border-right: 1px solid #C2C8CC;
  margin-bottom: 4px;
}
[dir=ltr] .content-tag-list li {
  padding-right: 8px;
  margin-right: 8px;
}
[dir=rtl] .content-tag-list li {
  padding-left: 8px;
  margin-left: 8px;
}
.content-tag-list li:last-child {
  border: none;
}

/***** WYSIWYG Editor *****/
#hc-wysiwyg {
  border: 1px solid #848F99;
}

/***** Upload Dropzone *****/
.upload-dropzone {
  border: 1px solid #848F99;
}

/***** Summary component *****/
zd-summary-block {
  background: #f3f6f6;
}
[dir=ltr] zd-summary-block {
  border-left-color: #859fa1;
}
[dir=rtl] zd-summary-block {
  border-right-color: #859fa1;
}

.service-catalog-hero {
  background-image: url(/hc/theming_assets/01KEH6M1EVRDPB8PDFG576NF6E);
  margin-bottom: 10px;
  height: 320px;
}
.service-catalog-description {
  display: flow-root;
}
.service-catalog-description a {
  color: #1F73B7;
  text-decoration: underline;
}
.service-catalog-description a:visited {
  color: #9358B0;
}
.service-catalog-description a:hover, .service-catalog-description a:active, .service-catalog-description a:focus {
  color: #0F3554;
}
.service-catalog-description img {
  height: auto;
  max-width: 100%;
}
.service-catalog-description p > img.image-style-align-left {
  float: left;
  margin: 8px 20px 6px 0;
}
.service-catalog-description p > img.image-style-align-right {
  float: right;
  margin: 8px 0px 6px 20px;
}
.service-catalog-description p > img.image-style-block-align-right {
  margin-left: auto;
  margin-right: 0;
}
.service-catalog-description p > img.image-style-block-align-left {
  margin-left: 0;
  margin-right: auto;
}
.service-catalog-description figure.image {
  display: table;
  margin: 0 auto;
}
.service-catalog-description figure.image > img {
  display: block;
  width: 100%;
}
.service-catalog-description figure.image.image-style-align-left {
  float: left;
  margin: 8px 20px 6px 0;
}
.service-catalog-description figure.image.image-style-align-right {
  float: right;
  margin: 8px 0px 6px 20px;
}
.service-catalog-description figure.image.image-style-block-align-right {
  margin-left: auto;
  margin-right: 0;
}
.service-catalog-description figure.image.image-style-block-align-left {
  margin-left: 0;
  margin-right: auto;
}
.service-catalog-description figcaption {
  padding: 10px 0;
  font-size: 12px;
  text-align: center;
  background-color: #f2f2f2;
}
.service-catalog-description ul,
.service-catalog-description ol {
  padding-left: 20px;
  list-style-position: outside;
  margin: 20px 0 20px 20px;
}
[dir=rtl] .service-catalog-description ul,
[dir=rtl] .service-catalog-description ol {
  padding-right: 20px;
  padding-left: 0;
  margin-left: 0;
  margin-right: 20px;
}
.service-catalog-description ul > ul,
.service-catalog-description ol > ol,
.service-catalog-description ol > ul,
.service-catalog-description ul > ol,
.service-catalog-description li > ul,
.service-catalog-description li > ol {
  margin: 0;
}
.service-catalog-description ul {
  list-style-type: disc;
}
.service-catalog-description :not(pre) > code {
  background: #f7f7f7;
  border: 1px solid #ddd;
  border-radius: 3px;
  padding: 0 5px;
  margin: 0 2px;
}
.service-catalog-description pre {
  background: #f7f7f7;
  border: 1px solid #ddd;
  border-radius: 3px;
  padding: 10px 15px;
  overflow: auto;
  white-space: pre;
  direction: ltr;
}
.service-catalog-description blockquote {
  border-left: 1px solid #ddd;
  color: #5a6d7c;
  font-style: italic;
  padding: 0 15px;
}
.service-catalog-main-content {
  display: flex;
  gap: 32px;
}
.service-catalog-list {
  width: 100%;
}
.service-catalog-breadcrumbs {
  display: flex;
  align-items: center;
  gap: 20px;
}

.is-service-catalog-preview #navbar-container,
.is-service-catalog-preview .navbar-container,
.is-service-catalog-preview .assembly-bar,
.is-service-catalog-preview [data-garden-id="chrome.subnav"] {
  display: none !important;
}

/* Auto dark theme — MUST be last so its overrides win the cascade */
/* ============================================================
   Axie Support — auto dark theme  (prefers-color-scheme: dark)
   ============================================================
   Imported LAST so its overrides win. Strategy (see WORKING_NOTES
   "Dark mode"):

   1. Flip the token layer once on :root — because every Axie
      component consumes var(--axie-*), this cascades to ~90% of
      the UI automatically (surfaces, text, outlines, dot-grids,
      dashed dividers, drop-shadows — the last three via the
      --axie-ink-rgb channel token).
   2. Re-pin the handful of "accent sticker" components (vibrant
      bg + dark text/outline) back to light-mode tokens so they
      render IDENTICALLY in both modes — instead of chasing every
      color declaration.
   3. Spot-fix the legacy Copenhagen partials that use raw hex.

   WHY a real dark theme instead of `color-scheme: only light`:
   declaring dark support stops Chromium / Brave "Auto Dark Mode
   for Web Contents" from algorithmically force-inverting the page
   into muddy, off-brand colors. The only robust fix for the Brave
   cohort is to ship our own dark theme.
   ============================================================ */
@media (prefers-color-scheme: dark) {
  /* ── 0. Body surface — the foundation everything else sits on ──
     Copenhagen's _base.scss (imported AFTER _axie-base.scss) hard-codes
     `body { background-color: #FFFFFF }` (= #FFFFFF), at equal
     specificity but LATER source order — so it WINS over our
     `body { background: var(--axie-paper) }`. Body never reads the token.
     In light mode the section containers (.axie-hero/.axie-desk-layout) each
     paint --axie-paper over it, so the white body is never seen. But v1.0.32
     made those containers `background-color: transparent` in dark (one-surface
     fix for Brave's section seam) — which then REVEALS the white body as a
     bright hero (half-bright/half-dark, split at the dark topbar). This rule
     (axie-dark is imported LAST → wins source order) makes the single body
     surface actually dark, so the transparent sections reveal dark, not white.
     NOTE: this is plain-OS-dark only; under Brave force-dark the body was
     forced dark anyway, which is why the v1.0.32 bug hid during that review. */
  html,
  body {
    background-color: var(--axie-paper);
  }
  /* ── 1. Token flip — the heart of the change ── */
  :root {
    /* Surfaces — twilight family, separated so cards lift off the page */
    --axie-paper: #15101F; /* page bg */
    --axie-paper-2: #221A37; /* card / elevated surface */
    --axie-paper-3: #2D2444; /* recessed / table head / off-state */
    /* Ink → warm off-white (drives text AND every outline) */
    --axie-ink: #F2ECDA;
    --axie-ink-soft: #C7BBDE;
    --axie-ink-dim: #9D8FB8;
    --axie-ink-nav: #ECE6D8;
    /* light triple → dot-grids / dashed dividers / decorative drop-shadows go light */
    --axie-ink-rgb: 242, 236, 218;
    /* Chunky offset shadow stays DARK for depth (ink/outlines are now light) */
    --axie-shadow-col: #07040E;
  }
  /* Selection: pink chip stays vibrant, keep its text dark */
  ::selection {
    color: #1F1530;
  }
  /* ── 2. Light-pill components — re-pin to light-mode tokens ──
     These render IDENTICALLY in both modes by re-pinning their tokens locally
     (no per-declaration overrides). Three groups share one block:
       (a) accent-bg stickers (vibrant fill + dark ink): tags, accent CTAs, etc.
       (b) secondary sticker BUTTONS whose paper-2 fill would flip to twilight
           (#221A37) and blend into the dark page — keep them as cream/white pills
           with dark text so they stay legible and pop.
       (c) paper-bg elements whose :hover / current-state swaps to a light accent
           (only that state needs dark text). */
  .axie-incident-banner,
  .axie-status-tag,
  .axie-meta-tag,
  .axie-vote-up,
  .axie-vote-down,
  .axie-btn,
  .axie-btn-ghost,
  .axie-nav-login,
  .axie-user-toggle,
  .axie-mobile-menu-btn,
  .axie-breadcrumb--auto ol.breadcrumbs li:last-child a,
  .axie-prose a:hover,
  .axie-article-tags li a:hover,
  .axie-breadcrumb--auto ol.breadcrumbs li a:hover,
  .axie-msg-attachments li a:hover {
    /* Crisp near-black, NOT the plum --axie-ink (#1F1530). Plum's dominant blue
       channel reads "purple" on the warm accent fills (red/pink CTAs). This is
       neutral-warm so labels stay legible with no purple cast. */
    --axie-ink: #14100C;
    --axie-ink-rgb: 20, 16, 12;
    --axie-ink-soft: #3A2F24;
    --axie-ink-nav: #14100C;
    --axie-paper-2: #FDF4DC;
    --axie-paper-3: #EADAB5;
    --axie-shadow-col: #14100C;
  }
  /* ── 2c. Colored CTA buttons → WHITE label (dark mode preference) ──
     The primary/CTA buttons read with a WHITE label in dark mode (not dark ink).
     Re-pinning --axie-ink to white covers the label, the outline, and all states
     (incl. :hover, which reads color: var(--axie-ink)). The lighter accent fills
     are deepened so white stays legible — white on the original light pink/mint
     is too low-contrast. Red is bright enough to keep as-is. */
  .axie-nav-cta,
  .axie-btn-primary,
  .axie-stuck-cta,
  .axie-btn-pink,
  .axie-btn-mint {
    --axie-ink: #FFFFFF; /* white label + white outline */
    --axie-shadow-col: #07040E; /* keep the offset shadow dark for depth */
  }
  .axie-stuck-cta,
  .axie-btn-pink {
    background: var(--axie-pink-deep);
  } /* deepen pink so white reads */
  .axie-btn-mint {
    background: #2E8B57;
  } /* deepen mint so white reads */
  /* ── 3. Brand logo — the full-color logo has dark lettering that vanishes on
     dark; swap to the white variant we already ship. The Sky Mavis sub-mark is a
     monochrome wordmark → force white. REVIEW both on first preview. ── */
  .axie-brand-logo {
    content: var(--axie-asset-logo-white);
  }
  .axie-brand-logo-sky {
    filter: brightness(0) invert(1);
    opacity: 0.9;
  }
  /* ── Hero emphasis word ("Lunacian") ──
     The gradient-clipped, transparent-fill <em> is the one text construct Brave's
     force-dark mangles — it inverts the clipped gradient and the word goes near-
     black, even while force-dark leaves the solid light headline alone. Drop the
     gradient in dark mode and use a solid bright warm color (light enough that
     force-dark leaves it like the rest of the readable headline). The decorative
     ink drop-shadow also turns into a mangled light blob under force-dark — kill it. */
  .axie-hero-title em {
    background: none;
    -webkit-text-fill-color: var(--axie-yellow);
    color: var(--axie-yellow);
    filter: none;
  }
  /* ── Hero → section seam ──
     The hero's watercolor pools (.axie-hero-bg) are hard-clipped at the hero's
     bottom edge (overflow:hidden). On cream that clip is invisible; on dark the
     pools read as a purple glow, so the clip becomes a visible horizontal band
     against the flat section below. Fade the whole pools layer out toward the
     bottom — it dissolves into the flat --axie-paper that .axie-hero sets behind
     it, which is the same color as the next section. Seam gone, and robust under
     Brave force-dark (no pool left at the boundary to invert differently). */
  .axie-hero-bg {
    -webkit-mask-image: linear-gradient(to bottom, #000 58%, transparent 100%);
    mask-image: linear-gradient(to bottom, #000 58%, transparent 100%);
  }
  /* ── Section seam under Brave force-dark ──
     .axie-hero and .axie-desk-layout each paint their OWN opaque --axie-paper bg.
     In a normal browser they're the same #15101F (no seam — plain dark mode is
     clean). But Brave's force-dark processes each section's opaque background
     separately and lands them on slightly different computed shades → a hard
     horizontal band between hero and the content section (mobile especially).
     Fix: collapse to ONE continuous surface — let <body>'s --axie-paper show
     through and make the section containers transparent (their pools / dot-grid
     stay as overlays). One surface for force-dark to process = no band. */
  .axie-hero,
  .axie-hero-bg,
  .axie-desk-layout {
    background-color: transparent;
  }
  /* ── 4. Legacy Copenhagen partials (raw hex, not tokenized) ── */
  /* System notifications / flash banners ({{notifications}}) */
  .notification {
    color: var(--axie-ink);
  }
  .notification a {
    color: var(--axie-sky);
  }
  .notification-error {
    background: #3a1f24;
    border-color: #7a3b42;
  }
  .notification-notice {
    background: #16323f;
    border-color: #2f6a82;
  }
  .notification-alert {
    background: #3a2c14;
    border-color: #7a5a22;
    color: var(--axie-yellow);
  }
  .notification-dismiss, a.notification-dismiss {
    color: var(--axie-ink-dim);
  }
  .notification-inline.notification-error {
    background-color: #3a1f24;
    border-color: #cc3340;
    color: #ff9ca3;
  }
  /* Copenhagen dropdown menu (#fff) — e.g. share / sort menus */
  .dropdown-menu {
    background: var(--axie-paper-2);
    border-color: var(--axie-ink);
    box-shadow: 0 20px 30px 0 rgba(0, 0, 0, 0.45);
  }
  .dropdown-menu [role=separator] {
    border-bottom-color: rgba(var(--axie-ink-rgb), 0.18);
  }
  .dropdown-menu [role=menuitem],
  .dropdown-menu [role=menuitemradio] {
    color: var(--axie-ink);
  }
  .dropdown-menu [role=menuitem]:hover, .dropdown-menu [role=menuitem]:focus,
  .dropdown-menu [role=menuitemradio]:hover,
  .dropdown-menu [role=menuitemradio]:focus {
    background: rgba(var(--axie-ink-rgb), 0.1);
    color: var(--axie-ink);
  }
  /* Search input browser autofill / native chrome (#fff) */
  input:-webkit-autofill,
  input:-webkit-autofill:focus {
    -webkit-text-fill-color: var(--axie-ink);
    -webkit-box-shadow: 0 0 0 1000px var(--axie-paper-2) inset;
  }
  /* Content tags (article footer) — light grey hex */
  .content-tag, .topic-tags a {
    color: var(--axie-ink-soft);
    border-color: rgba(var(--axie-ink-rgb), 0.25);
  }
}