@font-face {
  font-family: display;
  src: url(/assets/fonts/Cinzel_Variable-s.p.2cu9iw-l3ih8o.woff2) format("woff2");
  font-display: swap;
  font-weight: 400 700;
  font-style: normal;
}
@font-face {
  font-family: display Fallback;
  src: local(Arial);
  ascent-override: 77.71%;
  descent-override: 29.62%;
  line-gap-override: 0%;
  size-adjust: 125.6%;
}
.display_41b12f33-module__CKuIkG__className {
  font-family:
    display,
    display Fallback;
}
.display_41b12f33-module__CKuIkG__variable {
  --font-display: "display", "display Fallback";
}
@font-face {
  font-family: body;
  src: url(/assets/fonts/EBGaramond_Variable-s.p.0tlhhw_qyyfys.woff2) format("woff2");
  font-display: swap;
  font-weight: 400 600;
  font-style: normal;
}
@font-face {
  font-family: body;
  src: url(/assets/fonts/EBGaramond_Italic_Variable-s.p.33jraz4m6n5g3.woff2)
    format("woff2");
  font-display: swap;
  font-weight: 400 600;
  font-style: italic;
}
@font-face {
  font-family: body Fallback;
  src: local(Arial);
  ascent-override: 117.75%;
  descent-override: 34.85%;
  line-gap-override: 0%;
  size-adjust: 85.52%;
}
.body_d52cc878-module__gYk-Oa__className {
  font-family:
    body,
    body Fallback;
}
.body_d52cc878-module__gYk-Oa__variable {
  --font-body: "body", "body Fallback";
}
@font-face {
  font-family: mono;
  src: url(/assets/fonts/IBMPlexMono_400-s.p.40sczeszzbjw1.woff2) format("woff2");
  font-display: swap;
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: mono;
  src: url(/assets/fonts/IBMPlexMono_500-s.p.0oace-s_gkfks.woff2) format("woff2");
  font-display: swap;
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: mono;
  src: url(/assets/fonts/IBMPlexMono_600-s.p.226pwps5o-gq_.woff2) format("woff2");
  font-display: swap;
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: mono Fallback;
  src: local(Arial);
  ascent-override: 77.95%;
  descent-override: 20.91%;
  line-gap-override: 0%;
  size-adjust: 131.49%;
}
.mono_67dd7d27-module__cXATsa__className {
  font-family:
    mono,
    mono Fallback;
}
.mono_67dd7d27-module__cXATsa__variable {
  --font-mono: "mono", "mono Fallback";
}

@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or
    ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *,
    :before,
    :after,
    ::backdrop {
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-space-y-reverse: 0;
      --tw-border-style: solid;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-ordinal: initial;
      --tw-slashed-zero: initial;
      --tw-numeric-figure: initial;
      --tw-numeric-spacing: initial;
      --tw-numeric-fraction: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-duration: initial;
      --tw-ease: initial;
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
    }
  }
}
@layer theme {
  :root,
  :host {
    --font-sans:
      -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
      "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
      "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono:
      ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-black: #000;
    --color-white: #fff;
    --spacing: 0.25rem;
    --container-md: 28rem;
    --container-3xl: 48rem;
    --text-xs: 0.75rem;
    --text-xs--line-height: calc(1 / 0.75);
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.875);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --text-3xl: 1.875rem;
    --text-3xl--line-height: calc(2.25 / 1.875);
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);
    --text-6xl: 3.75rem;
    --text-6xl--line-height: 1;
    --font-weight-normal: 400;
    --font-weight-bold: 700;
    --font-weight-black: 900;
    --tracking-tight: -0.025em;
    --tracking-wider: 0.05em;
    --leading-tight: 1.25;
    --radius-lg: 0.5rem;
    --radius-2xl: 1rem;
    --ease-out: cubic-bezier(0, 0, 0.2, 1);
    --default-transition-duration: 0.15s;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}
@layer base {
  *,
  :after,
  :before,
  ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }
  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }
  html,
  :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(
      --default-font-family,
      -apple-system,
      BlinkMacSystemFont,
      "Segoe UI",
      Roboto,
      "Helvetica Neue",
      "Noto Sans",
      Arial,
      sans-serif,
      "Apple Color Emoji",
      "Segoe UI Emoji",
      "Segoe UI Symbol",
      "Noto Color Emoji"
    );
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b,
  strong {
    font-weight: bolder;
  }
  code,
  kbd,
  samp,
  pre {
    font-family: var(
      --default-mono-font-family,
      ui-monospace,
      SFMono-Regular,
      Menlo,
      Monaco,
      Consolas,
      "Liberation Mono",
      "Courier New",
      monospace
    );
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(
      --default-mono-font-variation-settings,
      normal
    );
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub,
  sup {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring:where(:not(iframe)) {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol,
  ul,
  menu {
    list-style: none;
  }
  img,
  svg,
  video,
  canvas,
  audio,
  iframe,
  embed,
  object {
    vertical-align: middle;
    display: block;
  }
  img,
  video {
    max-width: 100%;
    height: auto;
  }
  button,
  input,
  select,
  optgroup,
  textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }
  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not ((-webkit-appearance: -apple-pay-button))) or
    (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentColor;
    }
    @supports (color: color-mix(in lab, red, red)) {
      ::placeholder {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit {
    padding-block: 0;
  }
  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }
  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }
  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }
  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }
  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }
  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }
  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }
  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button,
  input:where([type="button"], [type="reset"], [type="submit"]) {
    appearance: button;
  }
  ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button {
    height: auto;
  }
  ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer components;
@layer utilities {
  .pointer-events-none {
    pointer-events: none;
  }
  .collapse {
    visibility: collapse;
  }
  .invisible {
    visibility: hidden;
  }
  .visible {
    visibility: visible;
  }
  .sr-only {
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    position: absolute;
    overflow: hidden;
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .static {
    position: static;
  }
  .sticky {
    position: sticky;
  }
  .top-3 {
    top: calc(var(--spacing) * 3);
  }
  .top-20 {
    top: calc(var(--spacing) * 20);
  }
  .isolate {
    isolation: isolate;
  }
  .container {
    width: 100%;
  }
  @media (min-width: 40rem) {
    .container {
      max-width: 40rem;
    }
  }
  @media (min-width: 48rem) {
    .container {
      max-width: 48rem;
    }
  }
  @media (min-width: 64rem) {
    .container {
      max-width: 64rem;
    }
  }
  @media (min-width: 80rem) {
    .container {
      max-width: 80rem;
    }
  }
  @media (min-width: 96rem) {
    .container {
      max-width: 96rem;
    }
  }
  .mt-1 {
    margin-top: var(--spacing);
  }
  .mt-1\.5 {
    margin-top: calc(var(--spacing) * 1.5);
  }
  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }
  .mt-3 {
    margin-top: calc(var(--spacing) * 3);
  }
  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }
  .mt-5 {
    margin-top: calc(var(--spacing) * 5);
  }
  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }
  .mt-7 {
    margin-top: calc(var(--spacing) * 7);
  }
  .mt-8 {
    margin-top: calc(var(--spacing) * 8);
  }
  .mt-10 {
    margin-top: calc(var(--spacing) * 10);
  }
  .mt-12 {
    margin-top: calc(var(--spacing) * 12);
  }
  .mt-14 {
    margin-top: calc(var(--spacing) * 14);
  }
  .mb-8 {
    margin-bottom: calc(var(--spacing) * 8);
  }
  .mb-10 {
    margin-bottom: calc(var(--spacing) * 10);
  }
  .mb-12 {
    margin-bottom: calc(var(--spacing) * 12);
  }
  .line-clamp-3 {
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
  }
  .block {
    display: block;
  }
  .contents {
    display: contents;
  }
  .flex {
    display: flex;
  }
  .flow-root {
    display: flow-root;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline {
    display: inline;
  }
  .inline-block {
    display: inline-block;
  }
  .inline-flex {
    display: inline-flex;
  }
  .table {
    display: table;
  }
  .aspect-\[16\/8\] {
    aspect-ratio: 16/8;
  }
  .aspect-\[16\/9\] {
    aspect-ratio: 16/9;
  }
  .h-4 {
    height: calc(var(--spacing) * 4);
  }
  .h-5 {
    height: calc(var(--spacing) * 5);
  }
  .h-30 {
    height: calc(var(--spacing) * 30);
  }
  .h-36 {
    height: calc(var(--spacing) * 36);
  }
  .h-full {
    height: 100%;
  }
  .min-h-56 {
    min-height: calc(var(--spacing) * 56);
  }
  .w-4 {
    width: calc(var(--spacing) * 4);
  }
  .w-5 {
    width: calc(var(--spacing) * 5);
  }
  .w-full {
    width: 100%;
  }
  .max-w-3xl {
    max-width: var(--container-3xl);
  }
  .max-w-md {
    max-width: var(--container-md);
  }
  .min-w-0 {
    min-width: 0;
  }
  .min-w-2 {
    min-width: calc(var(--spacing) * 2);
  }
  .min-w-\[30rem\] {
    min-width: 30rem;
  }
  .min-w-\[34rem\] {
    min-width: 34rem;
  }
  .min-w-\[38rem\] {
    min-width: 38rem;
  }
  .flex-1 {
    flex: 1;
  }
  .shrink {
    flex-shrink: 1;
  }
  .shrink-0 {
    flex-shrink: 0;
  }
  .grow {
    flex-grow: 1;
  }
  .border-collapse {
    border-collapse: collapse;
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,)
      var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .cursor-not-allowed {
    cursor: not-allowed;
  }
  .cursor-pointer {
    cursor: pointer;
  }
  .resize {
    resize: both;
  }
  .scroll-mt-24 {
    scroll-margin-top: calc(var(--spacing) * 24);
  }
  .list-decimal {
    list-style-type: decimal;
  }
  .list-disc {
    list-style-type: disc;
  }
  .flex-wrap {
    flex-wrap: wrap;
  }
  .items-baseline {
    align-items: baseline;
  }
  .items-center {
    align-items: center;
  }
  .items-end {
    align-items: flex-end;
  }
  .items-start {
    align-items: flex-start;
  }
  .justify-between {
    justify-content: space-between;
  }
  .justify-center {
    justify-content: center;
  }
  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }
  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }
  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }
  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }
  .gap-5 {
    gap: calc(var(--spacing) * 5);
  }
  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }
  .gap-8 {
    gap: calc(var(--spacing) * 8);
  }
  :where(.space-y-2 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(
      calc(var(--spacing) * 2) * var(--tw-space-y-reverse)
    );
    margin-block-end: calc(
      calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse))
    );
  }
  :where(.space-y-3 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(
      calc(var(--spacing) * 3) * var(--tw-space-y-reverse)
    );
    margin-block-end: calc(
      calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse))
    );
  }
  .gap-x-3 {
    column-gap: calc(var(--spacing) * 3);
  }
  .gap-x-5 {
    column-gap: calc(var(--spacing) * 5);
  }
  .gap-y-1 {
    row-gap: var(--spacing);
  }
  .gap-y-2 {
    row-gap: calc(var(--spacing) * 2);
  }
  .overflow-hidden {
    overflow: hidden;
  }
  .overflow-x-auto {
    overflow-x: auto;
  }
  .rounded {
    border-radius: 0.25rem;
  }
  .rounded-2xl {
    border-radius: var(--radius-2xl);
  }
  .rounded-full {
    border-radius: 3.40282e38px;
  }
  .rounded-lg {
    border-radius: var(--radius-lg);
  }
  .rounded-t {
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem;
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }
  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }
  .border-l {
    border-left-style: var(--tw-border-style);
    border-left-width: 1px;
  }
  .border-l-2 {
    border-left-style: var(--tw-border-style);
    border-left-width: 2px;
  }
  .border-\[\#7f91af\]\/45 {
    border-color: #7f91af73;
    border-color: lab(59.5432% -1.38882 -18.0798/0.45);
  }
  .border-\[\#8d7db8\]\/45 {
    border-color: #8d7db873;
    border-color: lab(55.6179% 15.8499 -29.0366/0.45);
  }
  .border-\[\#78aa6e\]\/35 {
    border-color: #78aa6e59;
    border-color: lab(64.916% -26.1601 25.4649/0.35);
  }
  .border-\[\#78aa6e\]\/45 {
    border-color: #78aa6e73;
    border-color: lab(64.916% -26.1601 25.4649/0.45);
  }
  .border-\[\#a85e43\]\/50 {
    border-color: #a85e4380;
    border-color: lab(48.3566% 28.9955 29.1847/0.5);
  }
  .border-\[\#d8a640\]\/45 {
    border-color: #d8a64073;
    border-color: lab(71.5046% 11.6954 57.7834/0.45);
  }
  .border-\[var\(--accent\)\] {
    border-color: var(--accent);
  }
  .border-\[var\(--line\)\],
  .border-\[var\(--line\)\]\/60 {
    border-color: var(--line);
  }
  @supports (color: color-mix(in lab, red, red)) {
    .border-\[var\(--line\)\]\/60 {
      border-color: color-mix(in oklab, var(--line) 60%, transparent);
    }
  }
  .bg-\[\#7d3f2b\]\/15 {
    background-color: #7d3f2b26;
    background-color: lab(34.5444% 26.1096 24.8517/0.15);
  }
  .bg-\[\#8d7db8\]\/10 {
    background-color: #8d7db81a;
    background-color: lab(55.6179% 15.8499 -29.0366/0.1);
  }
  .bg-\[\#78aa6e\]\/10 {
    background-color: #78aa6e1a;
    background-color: lab(64.9161% -26.1601 25.4648/0.1);
  }
  .bg-\[\#536784\]\/15 {
    background-color: #53678426;
    background-color: lab(42.8336% -1.91972 -18.7692/0.15);
  }
  .bg-\[\#d8a640\]\/10 {
    background-color: #d8a6401a;
    background-color: lab(71.5046% 11.6954 57.7834/0.1);
  }
  .bg-\[var\(--accent\)\],
  .bg-\[var\(--accent\)\]\/10 {
    background-color: var(--accent);
  }
  @supports (color: color-mix(in lab, red, red)) {
    .bg-\[var\(--accent\)\]\/10 {
      background-color: color-mix(in oklab, var(--accent) 10%, transparent);
    }
  }
  .bg-\[var\(--accent\)\]\/70 {
    background-color: var(--accent);
  }
  @supports (color: color-mix(in lab, red, red)) {
    .bg-\[var\(--accent\)\]\/70 {
      background-color: color-mix(in oklab, var(--accent) 70%, transparent);
    }
  }
  .bg-black\/20 {
    background-color: #0003;
  }
  @supports (color: color-mix(in lab, red, red)) {
    .bg-black\/20 {
      background-color: color-mix(
        in oklab,
        var(--color-black) 20%,
        transparent
      );
    }
  }
  .bg-black\/25 {
    background-color: #00000040;
  }
  @supports (color: color-mix(in lab, red, red)) {
    .bg-black\/25 {
      background-color: color-mix(
        in oklab,
        var(--color-black) 25%,
        transparent
      );
    }
  }
  .bg-transparent {
    background-color: #0000;
  }
  .bg-white\/5 {
    background-color: #ffffff0d;
  }
  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/5 {
      background-color: color-mix(in oklab, var(--color-white) 5%, transparent);
    }
  }
  .fill-none {
    fill: none;
  }
  .stroke-\[\#b8ad90\] {
    stroke: #b8ad90;
  }
  .stroke-2 {
    stroke-width: 2px;
  }
  .object-cover {
    object-fit: cover;
  }
  .p-4 {
    padding: calc(var(--spacing) * 4);
  }
  .p-5 {
    padding: calc(var(--spacing) * 5);
  }
  .p-6 {
    padding: calc(var(--spacing) * 6);
  }
  .p-7 {
    padding: calc(var(--spacing) * 7);
  }
  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }
  .px-2\.5 {
    padding-inline: calc(var(--spacing) * 2.5);
  }
  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }
  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }
  .px-5 {
    padding-inline: calc(var(--spacing) * 5);
  }
  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }
  .py-1 {
    padding-block: var(--spacing);
  }
  .py-1\.5 {
    padding-block: calc(var(--spacing) * 1.5);
  }
  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }
  .py-2\.5 {
    padding-block: calc(var(--spacing) * 2.5);
  }
  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }
  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }
  .pt-2 {
    padding-top: calc(var(--spacing) * 2);
  }
  .pt-4 {
    padding-top: calc(var(--spacing) * 4);
  }
  .pt-5 {
    padding-top: calc(var(--spacing) * 5);
  }
  .pr-4 {
    padding-right: calc(var(--spacing) * 4);
  }
  .pl-1 {
    padding-left: var(--spacing);
  }
  .pl-4 {
    padding-left: calc(var(--spacing) * 4);
  }
  .pl-5 {
    padding-left: calc(var(--spacing) * 5);
  }
  .text-center {
    text-align: center;
  }
  .text-left {
    text-align: left;
  }
  .text-right {
    text-align: right;
  }
  .align-top {
    vertical-align: top;
  }
  .text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }
  .text-3xl {
    font-size: var(--text-3xl);
    line-height: var(--tw-leading, var(--text-3xl--line-height));
  }
  .text-4xl {
    font-size: var(--text-4xl);
    line-height: var(--tw-leading, var(--text-4xl--line-height));
  }
  .text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }
  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
  .text-xl {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }
  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }
  .text-\[0\.68rem\] {
    font-size: 0.68rem;
  }
  .text-\[10px\] {
    font-size: 10px;
  }
  .leading-6 {
    --tw-leading: calc(var(--spacing) * 6);
    line-height: calc(var(--spacing) * 6);
  }
  .leading-7 {
    --tw-leading: calc(var(--spacing) * 7);
    line-height: calc(var(--spacing) * 7);
  }
  .leading-8 {
    --tw-leading: calc(var(--spacing) * 8);
    line-height: calc(var(--spacing) * 8);
  }
  .leading-tight {
    --tw-leading: var(--leading-tight);
    line-height: var(--leading-tight);
  }
  .font-black {
    --tw-font-weight: var(--font-weight-black);
    font-weight: var(--font-weight-black);
  }
  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }
  .font-normal {
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
  }
  .tracking-tight {
    --tw-tracking: var(--tracking-tight);
    letter-spacing: var(--tracking-tight);
  }
  .tracking-wider {
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
  }
  .text-wrap {
    text-wrap: wrap;
  }
  .break-words {
    overflow-wrap: break-word;
  }
  .text-\[\#6f6650\] {
    color: #6f6650;
  }
  .text-\[\#8f866f\] {
    color: #8f866f;
  }
  .text-\[\#16100a\] {
    color: #16100a;
  }
  .text-\[\#a8d4aa\] {
    color: #a8d4aa;
  }
  .text-\[\#a9d59d\] {
    color: #a9d59d;
  }
  .text-\[\#b5c4dc\] {
    color: #b5c4dc;
  }
  .text-\[\#b8ad90\] {
    color: #b8ad90;
  }
  .text-\[\#c8bbed\] {
    color: #c8bbed;
  }
  .text-\[\#d7cfbb\] {
    color: #d7cfbb;
  }
  .text-\[\#d9aa94\] {
    color: #d9aa94;
  }
  .text-\[\#e8bd60\] {
    color: #e8bd60;
  }
  .text-\[\#f6f0df\] {
    color: #f6f0df;
  }
  .text-\[var\(--accent\)\] {
    color: var(--accent);
  }
  .capitalize {
    text-transform: capitalize;
  }
  .lowercase {
    text-transform: lowercase;
  }
  .uppercase {
    text-transform: uppercase;
  }
  .italic {
    font-style: italic;
  }
  .ordinal {
    --tw-ordinal: ordinal;
    font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,)
      var(--tw-numeric-figure,) var(--tw-numeric-spacing,)
      var(--tw-numeric-fraction,);
  }
  .underline {
    text-decoration-line: underline;
  }
  .decoration-\[var\(--accent\)\]\/60 {
    -webkit-text-decoration-color: var(--accent);
    -webkit-text-decoration-color: var(--accent);
    -webkit-text-decoration-color: var(--accent);
    text-decoration-color: var(--accent);
  }
  @supports (color: color-mix(in lab, red, red)) {
    .decoration-\[var\(--accent\)\]\/60 {
      -webkit-text-decoration-color: color-mix(
        in oklab,
        var(--accent) 60%,
        transparent
      );
      -webkit-text-decoration-color: color-mix(
        in oklab,
        var(--accent) 60%,
        transparent
      );
      -webkit-text-decoration-color: color-mix(
        in oklab,
        var(--accent) 60%,
        transparent
      );
      text-decoration-color: color-mix(
        in oklab,
        var(--accent) 60%,
        transparent
      );
    }
  }
  .decoration-dotted {
    text-decoration-style: dotted;
  }
  .decoration-1 {
    text-decoration-thickness: 1px;
  }
  .underline-offset-2 {
    text-underline-offset: 2px;
  }
  .underline-offset-4 {
    text-underline-offset: 4px;
  }
  .accent-\[\#d8a640\] {
    accent-color: #d8a640;
  }
  .shadow {
    --tw-shadow:
      0 1px 3px 0 var(--tw-shadow-color, #0000001a),
      0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow:
      var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
      var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .ring {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0
      calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow:
      var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
      var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }
  .blur {
    --tw-blur: blur(8px);
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,)
      var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,)
      var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .invert {
    --tw-invert: invert(100%);
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,)
      var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,)
      var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .filter {
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,)
      var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,)
      var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .backdrop-filter {
    -webkit-backdrop-filter: var(--tw-backdrop-blur,)
      var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,)
      var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,)
      var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,)
      var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,)
      var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,)
      var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,)
      var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,)
      var(--tw-backdrop-sepia,);
  }
  .transition {
    transition-property:
      color,
      background-color,
      border-color,
      outline-color,
      text-decoration-color,
      fill,
      stroke,
      --tw-gradient-from,
      --tw-gradient-via,
      --tw-gradient-to,
      opacity,
      box-shadow,
      transform,
      translate,
      scale,
      rotate,
      filter,
      -webkit-backdrop-filter,
      backdrop-filter,
      display,
      content-visibility,
      overlay,
      pointer-events;
    transition-timing-function: var(
      --tw-ease,
      var(--default-transition-timing-function)
    );
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .duration-300 {
    --tw-duration: 0.3s;
    transition-duration: 0.3s;
  }
  .ease-out {
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
  }
  .outline-none {
    --tw-outline-style: none;
    outline-style: none;
  }
  .select-none {
    -webkit-user-select: none;
    user-select: none;
  }
  @media (hover: hover) {
    .group-hover\:scale-\[1\.03\]:is(:where(.group):hover *) {
      scale: 1.03;
    }
    .group-hover\:text-\[var\(--accent\)\]:is(:where(.group):hover *) {
      color: var(--accent);
    }
  }
  .placeholder\:text-\[\#6f6650\]::placeholder {
    color: #6f6650;
  }
  .last\:border-0:last-child {
    border-style: var(--tw-border-style);
    border-width: 0;
  }
  .last\:pr-0:last-child {
    padding-right: 0;
  }
  .focus-within\:border-\[var\(--accent\)\]:focus-within {
    border-color: var(--accent);
  }
  @media (hover: hover) {
    .hover\:-translate-y-0\.5:hover {
      --tw-translate-y: calc(var(--spacing) * -0.5);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .hover\:border-\[var\(--accent\)\]:hover,
    .hover\:border-\[var\(--accent\)\]\/60:hover {
      border-color: var(--accent);
    }
    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-\[var\(--accent\)\]\/60:hover {
        border-color: color-mix(in oklab, var(--accent) 60%, transparent);
      }
    }
    .hover\:bg-white\/8:hover {
      background-color: #ffffff14;
    }
    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-white\/8:hover {
        background-color: color-mix(
          in oklab,
          var(--color-white) 8%,
          transparent
        );
      }
    }
    .hover\:text-\[\#d7cfbb\]:hover {
      color: #d7cfbb;
    }
    .hover\:text-\[\#f6f0df\]:hover {
      color: #f6f0df;
    }
    .hover\:text-\[var\(--accent\)\]:hover {
      color: var(--accent);
    }
    .hover\:brightness-110:hover {
      --tw-brightness: brightness(110%);
      filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,)
        var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,)
        var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
    }
    .hover\:brightness-125:hover {
      --tw-brightness: brightness(125%);
      filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,)
        var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,)
        var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
    }
  }
  .focus\:not-sr-only:focus {
    clip-path: none;
    white-space: normal;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    position: static;
    overflow: visible;
  }
  .focus\:fixed:focus {
    position: fixed;
  }
  .focus\:top-3:focus {
    top: calc(var(--spacing) * 3);
  }
  .focus\:left-3:focus {
    left: calc(var(--spacing) * 3);
  }
  .focus\:z-\[500\]:focus {
    z-index: 500;
  }
  .focus\:rounded:focus {
    border-radius: 0.25rem;
  }
  .focus\:border-\[var\(--accent\)\]:focus {
    border-color: var(--accent);
  }
  .focus\:bg-\[var\(--gild\)\]:focus {
    background-color: var(--gild);
  }
  .focus\:px-4:focus {
    padding-inline: calc(var(--spacing) * 4);
  }
  .focus\:py-2:focus {
    padding-block: calc(var(--spacing) * 2);
  }
  .focus\:font-bold:focus {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }
  .focus\:text-\[\#16100a\]:focus {
    color: #16100a;
  }
  @media (min-width: 40rem) {
    .sm\:block {
      display: block;
    }
    .sm\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .sm\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  @media (min-width: 48rem) {
    .md\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .md\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .md\:p-6 {
      padding: calc(var(--spacing) * 6);
    }
    .md\:p-8 {
      padding: calc(var(--spacing) * 8);
    }
    .md\:text-2xl {
      font-size: var(--text-2xl);
      line-height: var(--tw-leading, var(--text-2xl--line-height));
    }
    .md\:text-3xl {
      font-size: var(--text-3xl);
      line-height: var(--tw-leading, var(--text-3xl--line-height));
    }
    .md\:text-4xl {
      font-size: var(--text-4xl);
      line-height: var(--tw-leading, var(--text-4xl--line-height));
    }
    .md\:text-6xl {
      font-size: var(--text-6xl);
      line-height: var(--tw-leading, var(--text-6xl--line-height));
    }
  }
  @media (min-width: 64rem) {
    .lg\:col-span-2 {
      grid-column: span 2 / span 2;
    }
    .lg\:col-span-3 {
      grid-column: span 3 / span 3;
    }
    .lg\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .lg\:grid-cols-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .lg\:grid-cols-\[1fr_1fr\] {
      grid-template-columns: 1fr 1fr;
    }
  }
}
:root {
  --lightningcss-light: ;
  --lightningcss-dark: initial;
  color-scheme: dark;
  --vellum: #0b0a08;
  --panel: #131109;
  --panel-2: #1b1811;
  --panel-3: #241f16;
  --ink: #ece2cb;
  --ink-2: #ab9f83;
  --ink-3: #948a72;
  --rule: #ece2cb33;
  --rule-strong: #ece2cb6b;
  --gild: #c8a13c;
  --gild-hi: #f0d489;
  --gild-dim: #c8a13c29;
  --seal: #a53a25;
  --seal-hi: #d4634a;
  --mist: #8496a1;
  --verdigris: #5b8f74;
  --rung-1: #8496a16b;
  --rung-2: #8496a18a;
  --rung-3: #8496a1a8;
  --rung-4: #8496a1c7;
  --rung-5: #8496a1e0;
  --rung-6: #96aab6f5;
  --rung-7: #b8ccd8;
  --rung-label-lo: var(--ink-2);
  --rung-label-mid: #bdb298;
  --rung-label-hi: #d2c6ac;
  --display: var(--font-display), "Optima", "Palatino Linotype", Georgia, serif;
  --body:
    var(--font-body), "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  --mono: var(--font-mono), ui-monospace, "SF Mono", Menlo, monospace;
  --r-sm: 2px;
  --r-md: 3px;
  --shadow: 0 18px 48px -20px #000000f2;
  --bg: var(--vellum);
  --text: var(--ink);
  --muted: var(--ink-2);
  --line: var(--rule);
  --accent: var(--gild);
  --accent-2: var(--seal);
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  background: var(--vellum);
  color: var(--ink);
  font-family: var(--body);
  text-rendering: optimizelegibility;
  margin: 0;
  font-size: 19px;
  font-weight: 450;
  line-height: 1.72;
}
body:after {
  content: "";
  z-index: 9999;
  pointer-events: none;
  opacity: 0.03;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)'/%3E%3C/svg%3E");
  position: fixed;
  inset: 0;
}
::selection {
  color: #fff;
  background: #c8a13c57;
}
a {
  color: inherit;
  text-decoration: none;
}
.pc-dashboard {
  grid-template-columns: minmax(0, 1.35fr) minmax(17rem, 0.65fr);
  gap: 0.9rem;
  margin-top: 2rem;
  display: grid;
}
.pc-answer {
  padding: clamp(1.4rem, 4vw, 2.4rem);
}
.pc-current {
  color: var(--gild-hi);
  letter-spacing: -0.04em;
  margin-top: 0.5rem;
  font-size: clamp(3.3rem, 9vw, 6.8rem);
  line-height: 0.95;
}
.pc-sampled {
  color: var(--ink-2);
  margin-top: 0.8rem;
}
.pc-metrics {
  border-top: 1px solid var(--rule);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin: 1.6rem 0 0;
  padding-top: 1.2rem;
  display: grid;
}
.pc-metrics dt,
.pc-chart figcaption {
  color: var(--ink-3);
  font-family: var(--mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.75rem;
}
.pc-metrics dd {
  color: var(--ink);
  margin: 0.35rem 0 0;
  font-size: 1rem;
}
.pc-art {
  min-height: 20rem;
  position: relative;
}
.pc-art:after {
  content: "";
  background: linear-gradient(#0000 30%, #0b0a08f0);
  position: absolute;
  inset: 0;
}
.pc-art figcaption {
  z-index: 1;
  color: var(--ink-2);
  gap: 0.6rem;
  font-size: 0.9rem;
  line-height: 1.45;
  display: grid;
  position: absolute;
  bottom: 1.2rem;
  left: 1.2rem;
  right: 1.2rem;
}
.pc-art .chip {
  width: max-content;
}
.pc-chart {
  grid-column: 1/-1;
  padding: clamp(1.2rem, 3vw, 2rem);
}
.pc-chart-head {
  justify-content: space-between;
  align-items: flex-end;
  gap: 1rem;
  display: flex;
}
.pc-reading {
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.7rem;
  margin-top: 0.45rem;
  display: flex;
}
.pc-reading strong {
  color: var(--gild-hi);
  font: 600 clamp(1.8rem, 4vw, 2.8rem)/1 var(--display);
}
.pc-reading span {
  color: var(--ink-2);
}
.pc-ranges {
  gap: 0.35rem;
  display: flex;
}
.pc-ranges button {
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  min-width: 3.5rem;
  min-height: 44px;
  color: var(--ink-2);
  font: 0.75rem var(--mono);
  cursor: pointer;
  background: 0 0;
}
.pc-ranges button:hover {
  border-color: var(--gild);
  color: var(--ink);
}
.pc-ranges button[aria-pressed="true"] {
  border-color: var(--gild-hi);
  background: var(--gild-hi);
  color: var(--vellum);
}
.pc-chart svg {
  touch-action: pan-y;
  cursor: crosshair;
  width: 100%;
  height: auto;
  margin-top: 1.2rem;
  display: block;
}
.pc-chart svg line {
  stroke: var(--rule);
  stroke-width: 1px;
  vector-effect: non-scaling-stroke;
}
.pc-chart svg polyline {
  fill: none;
  stroke: var(--gild-hi);
  stroke-width: 3px;
  vector-effect: non-scaling-stroke;
}
.pc-chart svg .pc-cursor {
  stroke: var(--rule-strong);
  stroke-dasharray: 4 5;
}
.pc-chart svg circle {
  fill: var(--gild-hi);
  stroke: var(--vellum);
  stroke-width: 3px;
  vector-effect: non-scaling-stroke;
}
.pc-chart figcaption {
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  margin-top: 0.7rem;
  display: flex;
}
@media (max-width: 760px) {
  .pc-dashboard {
    grid-template-columns: 1fr;
  }
  .pc-art {
    min-height: 15rem;
  }
  .pc-metrics {
    grid-template-columns: 1fr;
    gap: 0.8rem;
  }
  .pc-metrics div {
    justify-content: space-between;
    align-items: baseline;
    gap: 1rem;
    display: flex;
  }
  .pc-metrics dd {
    text-align: right;
  }
  .pc-chart {
    grid-column: auto;
    overflow: hidden;
  }
  .pc-chart-head {
    flex-direction: column;
    align-items: stretch;
  }
  .pc-ranges {
    grid-template-columns: repeat(3, 1fr);
    display: grid;
  }
  .pc-ranges button {
    width: 100%;
  }
  .pc-chart svg {
    width: 132%;
    max-width: none;
  }
  .pc-chart figcaption span:last-child {
    display: none;
  }
}
h1,
h2,
h3,
h4 {
  font-family: var(--display);
  overflow-wrap: break-word;
  margin: 0;
  font-weight: 600;
  line-height: 1.18;
}
h1 {
  letter-spacing: 0.005em;
  font-size: clamp(2.4rem, 5.4vw, 4.4rem);
}
h2 {
  font-size: clamp(1.7rem, 3vw, 2.5rem);
}
h3 {
  font-size: 1.35rem;
}
p {
  text-wrap: pretty;
  margin: 0;
}
.eyebrow {
  font-family: var(--mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gild);
  font-size: 0.78rem;
  font-weight: 600;
}
.lede {
  color: var(--ink);
  font-size: 1.3rem;
  line-height: 1.62;
}
.muted {
  color: var(--ink-2);
}
.faint {
  color: var(--ink-3);
}
.mono {
  font-family: var(--mono);
}
.gild {
  color: var(--gild);
}
.smallcaps {
  font-family: var(--display);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 0.84rem;
  font-weight: 700;
}
.dropcap:first-letter {
  float: left;
  font-family: var(--display);
  color: var(--gild);
  padding: 0.1em 0.14em 0 0;
  font-size: 4.1rem;
  font-weight: 700;
  line-height: 0.82;
}
.wrap {
  max-width: 1220px;
  margin: 0 auto;
  padding: 0 clamp(1rem, 3vw, 2.25rem);
}
.wrap-narrow {
  max-width: 860px;
  margin: 0 auto;
  padding: 0 clamp(1rem, 3vw, 2.25rem);
}
.wrap-wide {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 clamp(1rem, 3vw, 2.25rem);
}
.rule {
  color: var(--rule-strong);
  align-items: center;
  gap: 0.9rem;
  display: flex;
}
.rule:before,
.rule:after {
  content: "";
  background: linear-gradient(90deg, #0000, currentColor, #0000);
  flex: 1;
  height: 1px;
}
.rule-diamond {
  background: var(--gild);
  flex: none;
  width: 6px;
  height: 6px;
  transform: rotate(45deg);
}
.hairline {
  background: var(--rule);
  border: 0;
  height: 1px;
  margin: 0;
}
.rule-double {
  border-top: 1px solid var(--rule-strong);
  border-bottom: 1px solid var(--rule);
  height: 4px;
}
.panel {
  border: 1px solid var(--rule);
  border-radius: var(--r-md);
  background: linear-gradient(#1b1811eb, #0d0b08f0);
  position: relative;
}
.panel-quiet {
  background: #1311098c;
}
.cornered {
  position: relative;
}
.cornered:before,
.cornered:after {
  content: "";
  border: 1px solid var(--gild);
  opacity: 0.5;
  pointer-events: none;
  width: 13px;
  height: 13px;
  position: absolute;
}
.cornered:before {
  border-bottom: 0;
  border-right: 0;
  top: -1px;
  left: -1px;
}
.cornered:after {
  border-top: 0;
  border-left: 0;
  bottom: -1px;
  right: -1px;
}
.linkcard {
  transition:
    transform 0.28s cubic-bezier(0.2, 0.7, 0.3, 1),
    border-color 0.28s,
    background 0.28s;
  display: block;
}
.linkcard:hover {
  background: linear-gradient(#241f16f2, #0f0d09f2);
  border-color: #c8a13c80;
  transform: translateY(-3px);
}
.linkcard:hover .card-title {
  color: var(--gild-hi);
}
.card-title {
  transition: color 0.22s;
}
.seal {
  width: 46px;
  height: 46px;
  font-family: var(--display);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #140c02d1;
  text-shadow: 0 1px #ffffff38;
  background:
    radial-gradient(circle at 34% 28%, #ffffff57, transparent 52%),
    radial-gradient(circle at 68% 78%, #0000006b, transparent 58%),
    var(--seal-color, var(--gild));
  clip-path: polygon(
    50% 0%,
    68% 4%,
    84% 14%,
    95% 30%,
    100% 50%,
    95% 70%,
    83% 86%,
    66% 96%,
    50% 100%,
    33% 96%,
    16% 85%,
    5% 69%,
    0% 50%,
    5% 30%,
    17% 14%,
    33% 4%
  );
  border-radius: 50%;
  flex: none;
  justify-content: center;
  align-items: center;
  font-size: 0.95rem;
  font-weight: 700;
  display: inline-flex;
  box-shadow:
    inset 0 0 0 1px #0000004d,
    inset 0 2px 4px #ffffff38,
    0 3px 9px #0009;
}
.seal-sm {
  width: 34px;
  height: 34px;
  font-size: 0.74rem;
}
.chip {
  border-radius: var(--r-sm);
  font-family: var(--mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  white-space: normal;
  border: 1px solid;
  align-items: center;
  gap: 0.4rem;
  max-width: 100%;
  padding: 0.24rem 0.6rem;
  font-size: 0.75rem;
  font-weight: 600;
  display: inline-flex;
}
.chip:before {
  content: "";
  background: currentColor;
  flex: none;
  width: 5px;
  height: 5px;
  transform: rotate(45deg);
}
.chip-official {
  color: var(--gild);
  background: #c8a13c14;
}
.chip-tested {
  color: var(--verdigris);
  background: #5b8f7417;
}
.chip-named {
  color: var(--mist);
  background: #8496a117;
}
.chip-uncertain {
  color: var(--seal-hi);
  background: #a53a251c;
}
.chip-plain {
  color: var(--ink-3);
}
.btn {
  border: 1px solid var(--rule-strong);
  border-radius: var(--r-sm);
  color: var(--ink);
  font-family: var(--display);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
  background: 0 0;
  justify-content: center;
  align-items: center;
  gap: 0.55rem;
  padding: 0.72rem 1.5rem;
  font-size: 0.88rem;
  font-weight: 700;
  transition:
    background 0.22s,
    border-color 0.22s,
    color 0.22s,
    transform 0.18s;
  display: inline-flex;
}
.btn:hover {
  border-color: var(--gild);
  color: var(--gild-hi);
  background: var(--gild-dim);
}
.btn:active {
  transform: translateY(1px);
}
.btn[disabled] {
  opacity: 0.4;
  cursor: default;
}
.btn-primary {
  background: linear-gradient(180deg, var(--gild-hi), var(--gild));
  border-color: var(--gild-hi);
  color: #201603;
}
.btn-primary:hover {
  background: var(--gild-hi);
  color: #1a1202;
}
.btn-sm {
  letter-spacing: 0.09em;
  padding: 0.42rem 0.9rem;
  font-size: 0.78rem;
}
.btn-on {
  border-color: var(--gild);
  color: var(--gild-hi);
  background: var(--gild-dim);
}
.tab {
  color: var(--ink-2);
  font-family: var(--display);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
  background: 0 0;
  border: 1px solid #0000;
  margin-bottom: -1px;
  padding: 0.5rem 1rem;
  font-size: 0.86rem;
  font-weight: 700;
  transition:
    color 0.2s,
    border-color 0.2s,
    background 0.2s;
}
.tab:hover {
  color: var(--ink);
}
.tab[aria-selected="true"] {
  color: var(--gild);
  border-color: var(--rule) var(--rule) transparent;
  background: #c8a13c12;
}
input,
select,
textarea {
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  width: 100%;
  color: var(--ink);
  font-family: var(--mono);
  background: #00000057;
  padding: 0.6rem 0.8rem;
  font-size: 0.95rem;
  transition:
    border-color 0.2s,
    background 0.2s;
}
input::placeholder,
textarea::placeholder {
  color: var(--ink-3);
}
input:focus,
select:focus,
textarea:focus {
  border-color: var(--gild);
  background: #00000080;
  outline: none;
}
textarea {
  font-family: var(--body);
  resize: vertical;
  font-size: 1rem;
  line-height: 1.6;
}
label.field {
  display: block;
}
label.field > span {
  font-family: var(--mono);
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--ink-2);
  margin-bottom: 0.35rem;
  font-size: 0.76rem;
  font-weight: 600;
  display: block;
}
.field-error {
  color: var(--seal-hi);
  font-family: var(--mono);
  margin-top: 0.3rem;
  font-size: 0.78rem;
}
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid var(--gild);
  outline-offset: 2px;
}
.ledger {
  border-collapse: collapse;
  width: 100%;
  font-size: 1rem;
}
.ledger th {
  text-align: left;
  border-bottom: 1px solid var(--rule-strong);
  font-family: var(--mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-2);
  white-space: nowrap;
  padding: 0.6rem 0.9rem;
  font-size: 0.75rem;
  font-weight: 600;
}
.ledger td {
  border-bottom: 1px solid var(--rule);
  vertical-align: top;
  color: var(--ink);
  padding: 0.85rem 0.9rem;
}
.ledger td:first-child {
  color: var(--ink);
}
.ledger.odds-table th,
.ledger.odds-table td {
  padding-left: 0.55rem;
  padding-right: 0.55rem;
}
.ledger.odds-table td {
  padding-top: 0.7rem;
  padding-bottom: 0.7rem;
}
.ledger tbody tr {
  transition: background 0.18s;
}
.ledger tbody tr:hover {
  background: #c8a13c0d;
}
.ledger th.sortable {
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
}
.ledger th.sortable:hover {
  color: var(--gild);
}
.mistfield {
  pointer-events: none;
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.mistfield:before,
.mistfield:after {
  content: "";
  background:
    radial-gradient(38% 46% at 22% 34%, #8496a124, #0000 70%),
    radial-gradient(44% 38% at 76% 60%, #c8a13c1a, #0000 72%);
  animation: 44s ease-in-out infinite alternate drift;
  position: absolute;
  inset: -30%;
}
.mistfield:after {
  opacity: 0.72;
  animation-duration: 67s;
  animation-direction: alternate-reverse;
}
@keyframes drift {
  0% {
    transform: translate(-3%, 1%) scale(1);
  }
  to {
    transform: translate(4%, -3%) scale(1.14);
  }
}
.reveal {
  animation: 0.62s cubic-bezier(0.16, 0.84, 0.28, 1) backwards rise;
}
@keyframes rise {
  0% {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .reveal,
  .mistfield:before,
  .mistfield:after {
    animation: none;
  }
  html {
    scroll-behavior: auto;
  }
}
.masthead {
  z-index: 60;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--rule);
  background: #0b0a08e6;
  position: sticky;
  top: 0;
}
.navlink {
  color: var(--ink-2);
  font-family: var(--display);
  letter-spacing: 0.09em;
  text-transform: uppercase;
  white-space: nowrap;
  border-bottom: 1px solid #0000;
  padding: 0.4rem 0.62rem;
  font-size: 0.86rem;
  font-weight: 700;
  transition:
    color 0.2s,
    border-color 0.2s;
}
.navlink:hover {
  color: var(--ink);
}
.navlink[data-active="true"] {
  color: var(--gild);
  border-bottom-color: var(--gild);
}
.noscroll {
  scrollbar-width: none;
  overflow-x: auto;
}
.noscroll::-webkit-scrollbar {
  display: none;
}
.marginalia {
  border-left: 2px solid var(--gild-dim);
  color: var(--ink-3);
  padding-left: 1rem;
  font-size: 0.92rem;
  font-style: italic;
}
.prose-guide p {
  color: var(--ink);
}
.prose-guide li {
  color: var(--ink);
  margin-top: 0.5rem;
}
.prose-guide ul {
  margin: 0;
  padding-left: 1.15rem;
}
.prose-guide ul li::marker {
  color: var(--gild);
}
.prose-guide a {
  color: var(--gild);
  text-underline-offset: 3px;
  text-decoration: underline;
}
.region-shape {
  outline: none;
}
.region-shape:hover path {
  fill: #c8a13c2e;
}
.region-shape:focus-visible path {
  stroke: var(--gild);
  stroke-width: 2.4px;
  stroke-dasharray: 4 2;
}
@media (pointer: coarse), (max-width: 720px) {
  .btn-sm {
    min-height: 42px;
    padding-inline: 1rem;
  }
  .btn {
    min-height: 46px;
  }
  .tab {
    align-items: center;
    min-height: 46px;
    display: inline-flex;
  }
  input,
  select,
  textarea {
    min-height: 46px;
    font-size: 16px;
  }
  .chip {
    padding: 0.34rem 0.66rem;
  }
  .crumb a {
    padding: 0.78rem 0;
    display: inline-block;
  }
  .faq-btn {
    min-height: 56px;
  }
  .steprail button {
    min-height: 46px;
  }
  .iconbtn {
    min-width: 44px;
    min-height: 44px;
  }
  .morelink {
    align-items: center;
    min-height: 44px;
    display: inline-flex;
  }
  .toc a {
    align-items: center;
    min-height: 44px;
    display: flex;
  }
}
.reccard {
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  text-align: left;
  background: #1311098c;
  width: 100%;
  padding: 0.95rem 1rem;
  transition:
    border-color 0.2s,
    background 0.2s;
}
.reccard[data-open="true"] {
  background: #c8a13c0f;
  border-color: #c8a13c73;
}
.reccard dt {
  font-family: var(--mono);
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-size: 0.72rem;
}
.reccard dd {
  color: var(--ink);
  margin: 0.25rem 0 0;
  font-size: 0.96rem;
}
.only-wide {
  display: block;
}
.only-narrow {
  display: none;
}
@media (max-width: 720px) {
  .only-wide {
    display: none !important;
  }
  .only-narrow {
    gap: 0.6rem;
    display: grid !important;
  }
}
.rt-narrow {
  display: none;
}
@media (max-width: 700px) {
  .rt-wide {
    display: none;
  }
  .rt-narrow {
    gap: 0.7rem;
    display: grid !important;
  }
}
.row {
  align-items: center;
  gap: 0.7rem;
  display: flex;
}
.wrapflex {
  flex-wrap: wrap;
  gap: 0.6rem;
  display: flex;
}
.imgfill {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}
.tint {
  filter: saturate(0.72) contrast(1.06) brightness(0.86);
}
.footlink {
  transition:
    color 0.18s,
    padding-left 0.18s;
}
.footlink:hover {
  color: var(--gild-hi);
  padding-left: 0.4rem;
}
.indexrow {
  transition:
    background 0.2s,
    padding-left 0.2s;
}
.indexrow:hover {
  background: #c8a13c0d;
  padding-left: 1.1rem;
}
@media (max-width: 900px) {
  .guide-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .guide-layout > aside {
    order: -1;
    position: static !important;
  }
  .folio-split,
  .calc-layout,
  .auction-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
@media (max-width: 640px) {
  .rf-chips {
    grid-template-columns: minmax(0, 1fr);
    display: grid;
  }
  .rf-chips > .btn {
    width: 100%;
  }
}
.map-folio {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 1.2rem;
  display: grid;
}
@media (max-width: 640px) {
  .map-folio {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.9rem;
  }
}
.grade {
  margin: 0;
  padding: 0;
  list-style: none;
}
.grade-row {
  border-bottom: 1px solid var(--rule);
  grid-template-columns: auto 1fr;
  gap: 0 1rem;
  padding: 0.95rem 0;
  display: grid;
}
.grade-row:last-child {
  border-bottom: 0;
}
.grade-mark {
  font-family: var(--mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  white-space: nowrap;
  align-items: center;
  gap: 0.45rem;
  padding-top: 0.28rem;
  font-size: 0.74rem;
  display: flex;
}
.grade-mark:before {
  content: "";
  flex: none;
  width: 6px;
  height: 6px;
  transform: rotate(45deg);
}
.grade-claim {
  color: var(--ink);
  font-size: 1rem;
}
.grade-row[data-grade="official"] .grade-mark {
  color: var(--gild);
}
.grade-row[data-grade="official"] .grade-mark:before {
  background: var(--gild);
}
.grade-row[data-grade="corroborated"] .grade-mark {
  color: var(--verdigris);
}
.grade-row[data-grade="corroborated"] .grade-mark:before {
  background: var(--verdigris);
}
.grade-row[data-grade="inferred"] .grade-mark {
  color: var(--mist);
}
.grade-row[data-grade="inferred"] .grade-mark:before {
  background: linear-gradient(135deg, var(--mist) 0 50%, transparent 50% 100%);
  box-shadow: inset 0 0 0 1px var(--mist);
}
.grade-row[data-grade="unverified"] .grade-mark {
  color: var(--mist);
}
.grade-row[data-grade="unverified"] .grade-mark:before {
  box-shadow: inset 0 0 0 1px var(--mist);
  background: 0 0;
}
.grade-row[data-grade="unverified"] .grade-claim {
  color: var(--ink-2);
}
.grade-row[data-grade="inferred"] .grade-claim {
  color: var(--ink);
}
.grade-attr {
  font-family: var(--mono);
  letter-spacing: 0.04em;
  color: var(--mist);
  border-left: 1px dashed #8496a173;
  grid-column: 2;
  margin: 0.5rem 0 0;
  padding-left: 0.85rem;
  font-size: 0.78rem;
}
.grade-attr a {
  color: var(--mist);
  text-underline-offset: 3px;
  text-decoration: underline;
}
@media (max-width: 640px) {
  .grade-row {
    grid-template-columns: 1fr;
    gap: 0.5rem 0;
  }
  .grade-attr {
    grid-column: 1;
  }
}
.ledger tr[data-marked="true"] {
  background: #c8a13c12;
}
.ledger tr[data-marked="true"] td {
  border-bottom-color: #c8a13c4d;
}
.ledger tr[data-marked="true"] td:first-child {
  color: var(--gild-hi);
}
.ad-slot {
  justify-content: center;
  display: flex;
}
.ad-slot:empty {
  display: none;
}
.ad-desktop {
  display: none !important;
}
@media (min-width: 768px) {
  .ad-desktop {
    display: block !important;
  }
  .ad-mobile {
    display: none !important;
  }
}
.ad-inarticle {
  justify-content: center;
  margin: 0 0 1.4rem;
  display: flex;
}
.ad-host {
  display: flow-root;
}
@media (min-width: 640px) {
  .ad-inarticle {
    float: right;
    margin: 0.4rem 0 1.2rem 1.6rem;
  }
  .ad-host .panel {
    clear: right;
  }
}
.ad-rail {
  display: none;
}
@media (min-width: 901px) {
  .ad-rail {
    justify-content: center;
    display: flex;
  }
}
.ad-articleend {
  display: none;
}
@media (min-width: 768px) {
  .ad-articleend {
    justify-content: center;
    max-width: 68ch;
    margin-top: 2.5rem;
    display: flex;
  }
}
.ad-inlist {
  justify-content: center;
  margin: 3rem 0;
  display: flex;
}
.ad-anchor {
  display: none;
}
@media (max-width: 767px) {
  .ad-anchor {
    z-index: 50;
    padding: 2px 0;
    padding-bottom: calc(2px + env(safe-area-inset-bottom, 0px));
    background: var(--vellum);
    border-top: 1px solid var(--rule);
    justify-content: center;
    align-items: center;
    display: flex;
    position: fixed;
    inset: auto 0 0;
  }
  body.has-anchor-ad {
    padding-bottom: calc(54px + env(safe-area-inset-bottom, 0px));
  }
}
.ad-anchor-x {
  background: var(--vellum);
  border: 1px solid var(--rule);
  border-radius: var(--r-sm, 4px) var(--r-sm, 4px) 0 0;
  width: 40px;
  height: 34px;
  color: var(--ink-3);
  cursor: pointer;
  border-bottom: 0;
  justify-content: center;
  align-items: center;
  margin-bottom: -1px;
  padding: 0;
  font-size: 1.3rem;
  line-height: 1;
  display: flex;
  position: absolute;
  bottom: 100%;
  right: 6px;
}
.ad-anchor-x:hover {
  color: var(--ink);
}
.dgm {
  margin-top: clamp(1.6rem, 3vw, 2.4rem);
}
.dgm-body {
  padding: clamp(1.1rem, 3vw, 1.9rem);
}
.dgm-narrow {
  display: none;
}
@media (max-width: 700px) {
  .dgm-wide {
    display: none !important;
  }
  .dgm-narrow {
    display: grid !important;
  }
}
.dgm-node {
  border: 1px solid var(--rule);
  border-left: 2px solid var(--dgm-tone, var(--gild));
  border-radius: var(--r-sm);
  background: #1311098c;
  padding: 0.85rem 1rem;
  position: relative;
}
.dgm-node[data-absent="true"] {
  background: 0 0;
  border-style: dashed;
}
.dgm-node-label {
  font-family: var(--display);
  color: var(--dgm-tone, var(--gild));
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.3;
}
.dgm-node-detail {
  color: var(--ink-2);
  margin-top: 0.45rem;
  font-size: 0.9rem;
  line-height: 1.65;
}
.dgm-node-danger {
  color: var(--seal-hi);
  border-top: 1px dashed #d4634a66;
  margin-top: 0.6rem;
  padding-top: 0.55rem;
  font-size: 0.84rem;
  line-height: 1.6;
}
.dgm-stage {
  font-family: var(--mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-size: 0.74rem;
}
.dgm-stage b {
  color: var(--gild);
  font-weight: 600;
}
.dgm-link {
  background: var(--rule-strong);
  width: 1px;
  height: 1.5rem;
  margin: 0 auto;
  position: relative;
}
.dgm-link:after {
  content: "";
  background: var(--gild);
  opacity: 0.75;
  width: 5px;
  height: 5px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
.dgm-track-head {
  font-family: var(--display);
  color: var(--ink);
  border-bottom: 1px solid var(--rule-strong);
  padding-bottom: 0.6rem;
  font-size: 1.05rem;
  font-weight: 600;
}
.dgm-track-head[data-current="true"] {
  color: var(--gild);
  border-bottom-color: var(--gild);
}
.dgm-track[data-current="true"] {
  background: #c8a13c0b;
}
.dgm-track {
  border-radius: var(--r-sm);
  margin: -0.5rem;
  padding: 0.5rem;
}
.dgm-tier-row {
  border-top: 1px solid var(--rule);
  grid-template-columns: 3.4rem minmax(0, 1fr);
  align-items: start;
  gap: 1rem;
  padding: 0.9rem 0;
  display: grid;
}
.dgm-tier-row:first-child {
  border-top: 0;
}
.dgm-tier-cards {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
  gap: 0.6rem;
  display: grid;
}
@media (max-width: 700px) {
  .dgm-tier-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.7rem;
  }
  .dgm-tier-cards {
    grid-template-columns: minmax(0, 1fr);
  }
}
.dgm-rung {
  grid-template-columns: 3.4rem minmax(0, 1fr);
  align-items: start;
  gap: 1rem;
  display: grid;
}
@media (max-width: 700px) {
  .dgm-rung {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.6rem;
  }
}
.rl-kits {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.6rem;
  display: grid;
}
@media (max-width: 640px) {
  .rl-kits {
    grid-template-columns: minmax(0, 1fr);
  }
}
.rl-kit {
  text-align: left;
  cursor: pointer;
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  background: #1311098c;
  gap: 0.3rem;
  padding: 0.8rem 0.9rem;
  transition:
    border-color 0.18s,
    background 0.18s;
  display: grid;
}
.rl-kit:hover {
  border-color: var(--rule-strong);
}
.rl-kit[aria-pressed="true"] {
  border-color: var(--gild);
  background: var(--gild-dim);
}
.rl-kit-name {
  font-family: var(--display);
  color: var(--ink);
  letter-spacing: 0.01em;
  font-size: 0.98rem;
  font-weight: 600;
}
.rl-kit[aria-pressed="true"] .rl-kit-name {
  color: var(--gild-hi);
}
.rl-kit-cost {
  font-family: var(--mono);
  color: var(--ink-3);
  letter-spacing: 0.04em;
  font-size: 0.74rem;
}
.rl-bars {
  gap: 0.9rem;
  margin-top: 1.6rem;
  display: grid;
}
.rl-bar-head {
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  margin-bottom: 0.35rem;
  display: flex;
}
.rl-bar-label {
  font-family: var(--mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-size: 0.68rem;
}
.rl-bar-val {
  font-family: var(--mono);
  color: var(--ink);
  text-align: right;
  font-size: 0.92rem;
}
.rl-track {
  background: #ece2cb0f;
  border-radius: 1px;
  height: 12px;
  position: relative;
  overflow: hidden;
}
.rl-fill {
  transition: width 0.32s cubic-bezier(0.4, 0, 0.2, 1);
  position: absolute;
  inset: 0 auto 0 0;
}
.rl-fill[data-tone="cost"] {
  background: linear-gradient(90deg, #a53a25d9, #d4634ab3);
}
.rl-fill[data-tone="return"] {
  background: linear-gradient(90deg, #8496a1e6, #b8ccd8bf);
}
@media (prefers-reduced-motion: reduce) {
  .rl-fill {
    transition: none;
  }
}
.rl-net {
  border-top: 1px solid var(--rule);
  margin-top: 1.5rem;
  padding-top: 1.2rem;
}
.rl-net-fig[data-kind="figure"] {
  font-family: var(--mono);
  color: var(--gild-hi);
  letter-spacing: -0.01em;
  font-size: clamp(1.5rem, 5vw, 2rem);
}
.rl-net-fig[data-kind="none"] {
  font-family: var(--display);
  color: var(--ink);
  font-size: clamp(1.05rem, 2.6vw, 1.25rem);
  font-weight: 600;
}
.rl-net-note {
  color: var(--ink-2);
  max-width: 54ch;
  margin-top: 0.5rem;
  font-size: 0.92rem;
  line-height: 1.65;
}
.rl-death {
  gap: 0.55rem;
  margin-top: 1.4rem;
  display: grid;
}
.rl-death-row {
  border-left: 2px solid var(--rl-tone);
  grid-template-columns: 5.5rem minmax(0, 1fr);
  align-items: baseline;
  gap: 1rem;
  padding: 0.55rem 0 0.55rem 0.8rem;
  display: grid;
}
.rl-death-row[data-tone="keeps"] {
  --rl-tone: var(--verdigris);
}
.rl-death-row[data-tone="loses"] {
  --rl-tone: var(--seal-hi);
}
@media (max-width: 560px) {
  .rl-death-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.25rem;
  }
}
.rl-death-key {
  font-family: var(--mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--rl-tone);
  font-size: 0.68rem;
}
.rl-death-val {
  color: var(--ink-2);
  font-size: 0.9rem;
  line-height: 1.6;
}
.lad {
  gap: 0;
  display: grid;
}
.lad-rung {
  grid-template-columns: 3.4rem minmax(0, 1fr);
  align-items: start;
  gap: 1rem;
  display: grid;
}
@media (max-width: 700px) {
  .lad-rung {
    grid-template-columns: 2.4rem minmax(0, 1fr);
    gap: 0.7rem;
  }
}
.lad-joint {
  border-left: 1px solid var(--rule);
  height: 0.9rem;
  margin-left: 1.6rem;
}
@media (max-width: 700px) {
  .lad-joint {
    margin-left: 1.1rem;
  }
}
.lad-btn {
  text-align: left;
  cursor: pointer;
  border: 1px solid var(--rule);
  border-left: 2px solid var(--lad-tone);
  border-radius: var(--r-sm);
  background: #1311098c;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.8rem;
  width: 100%;
  padding: 0.7rem 0.9rem;
  transition:
    border-color 0.18s,
    background 0.18s;
  display: grid;
}
.lad-btn:hover {
  background: #241f1699;
}
.lad-btn[aria-expanded="true"] {
  border-color: var(--rule-strong);
  border-left-color: var(--lad-tone);
}
.lad-name {
  font-family: var(--display);
  color: var(--ink);
  letter-spacing: 0.01em;
  font-size: 1rem;
  font-weight: 600;
}
.lad-meters {
  align-items: center;
  gap: 0.75rem;
  display: flex;
}
.lad-meter {
  gap: 2px;
  display: flex;
}
.lad-pip {
  background: #ece2cb21;
  width: 4px;
  height: 13px;
}
.lad-pip[data-on="true"] {
  background: var(--lad-tone);
}
.lad-chev {
  color: var(--ink-3);
  font-family: var(--mono);
  font-size: 0.8rem;
  transition: transform 0.2s;
}
.lad-btn[aria-expanded="true"] .lad-chev {
  transform: rotate(90deg);
}
@media (prefers-reduced-motion: reduce) {
  .lad-chev {
    transition: none;
  }
}
@media (max-width: 520px) {
  .lad-meter {
    display: none;
  }
}
.lad-panel {
  border-left: 1px dashed var(--rule);
  gap: 0.7rem;
  margin-left: 0.9rem;
  padding: 0.9rem 0 0.3rem 0.9rem;
  display: grid;
}
.lad-panel[hidden] {
  display: none;
}
.lad-line {
  grid-template-columns: 5rem minmax(0, 1fr);
  align-items: baseline;
  gap: 0.9rem;
  display: grid;
}
@media (max-width: 560px) {
  .lad-line {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.2rem;
  }
}
.lad-key {
  font-family: var(--mono);
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-size: 0.64rem;
}
.lad-val {
  color: var(--ink-2);
  font-size: 0.92rem;
  line-height: 1.65;
}
.lad-val[data-danger="true"] {
  color: var(--seal-hi);
}
.lad-axis {
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.9rem;
  display: flex;
}
.lad-axis span {
  font-family: var(--mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-size: 0.62rem;
}
.sc {
  gap: 0.55rem;
  display: grid;
}
.sc-row {
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  background: #1311098c;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 0.9rem;
  padding: 0.85rem 1rem;
  transition:
    border-color 0.18s,
    background 0.18s;
  display: grid;
}
.sc-row[data-done="true"] {
  background: #5b8f740d;
  border-color: #5b8f7473;
}
.sc-tick {
  cursor: pointer;
  border: 1px solid var(--rule-strong);
  border-radius: var(--r-sm);
  color: #0000;
  background: 0 0;
  flex: none;
  place-items: center;
  width: 26px;
  height: 26px;
  margin-top: 0.1rem;
  font-size: 0.85rem;
  line-height: 1;
  transition:
    border-color 0.18s,
    background 0.18s,
    color 0.18s;
  display: grid;
}
.sc-tick:hover {
  border-color: var(--gild);
}
.sc-tick {
  position: relative;
}
.sc-tick:after {
  content: "";
  width: 44px;
  height: 44px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.sc-row[data-done="true"] .sc-tick {
  border-color: var(--verdigris);
  color: var(--verdigris);
  background: #5b8f742e;
}
.sc-name {
  font-family: var(--display);
  color: var(--ink);
  font-size: 1rem;
  font-weight: 600;
}
.sc-row[data-done="true"] .sc-name {
  color: var(--ink-2);
}
.sc-states {
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 0.7rem;
  margin: 0.45rem 0 0.55rem;
  display: flex;
}
.sc-state {
  font-family: var(--mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-size: 0.68rem;
}
.sc-state[data-kind="default"] {
  color: var(--ink-3);
}
.sc-state[data-kind="set"] {
  color: var(--gild);
}
.sc-arrow {
  color: var(--ink-3);
  font-family: var(--mono);
  font-size: 0.7rem;
}
.sc-why {
  color: var(--ink-2);
  max-width: 58ch;
  font-size: 0.92rem;
  line-height: 1.65;
}
.sc-head {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  margin-bottom: 0.9rem;
  display: flex;
}
.sc-count {
  font-family: var(--mono);
  letter-spacing: 0.1em;
  color: var(--ink-3);
  font-size: 0.72rem;
}
.bc-field {
  gap: 0.55rem;
  display: grid;
}
.bc-label {
  font-family: var(--mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-size: 0.68rem;
}
.bc-input-row {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch;
  gap: 0.7rem;
  display: grid;
}
.bc-input {
  width: 100%;
  font-family: var(--mono);
  letter-spacing: 0.02em;
  border: 1px solid var(--rule-strong);
  border-radius: var(--r-sm);
  color: var(--ink);
  background: #0b0a08b3;
  padding: 0.75rem 0.9rem;
  font-size: 1rem;
}
.bc-input:focus {
  border-color: var(--gild);
  outline: none;
}
.bc-count {
  min-width: 4.6rem;
  font-family: var(--mono);
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  color: var(--ink-2);
  background: #1311098c;
  place-items: center;
  padding: 0 0.8rem;
  font-size: 1.05rem;
  transition:
    color 0.18s,
    border-color 0.18s,
    background 0.18s;
  display: grid;
}
.bc-count[data-over="true"] {
  color: var(--seal-hi);
  background: #a53a251a;
  border-color: #a53a2580;
}
@media (prefers-reduced-motion: reduce) {
  .bc-count {
    transition: none;
  }
}
.bc-ruler {
  gap: 3px;
  margin-top: 0.15rem;
  display: flex;
}
.bc-tick {
  background: #ece2cb1a;
  flex: 1 1 0;
  height: 6px;
}
.bc-tick[data-filled="true"] {
  background: var(--mist);
}
.bc-tick[data-cap="true"] {
  background: #ece2cb0d;
  box-shadow: inset 0 0 0 1px #a53a2559;
}
.bc-tick[data-filled="true"][data-cap="true"] {
  background: var(--seal);
  box-shadow: none;
}
.bc-verdict {
  border-left: 2px solid var(--bc-tone);
  background: #1311098c;
  margin-top: 1.3rem;
  padding: 0.95rem 1.1rem;
}
.bc-verdict[data-kind="bot"] {
  --bc-tone: var(--seal);
}
.bc-verdict[data-kind="unknown"] {
  --bc-tone: var(--mist);
}
.bc-verdict[data-kind="empty"] {
  --bc-tone: var(--rule-strong);
}
.bc-verdict-head {
  font-family: var(--mono);
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--bc-tone);
  font-size: 0.68rem;
}
.bc-verdict-body {
  color: var(--ink-2);
  margin-top: 0.5rem;
  font-size: 0.95rem;
  line-height: 1.65;
}
.bc-tells {
  gap: 0.55rem;
  margin-top: 1.8rem;
  display: grid;
}
.bc-tell {
  border: 1px solid var(--rule);
  border-left: 2px solid var(--mist);
  border-radius: var(--r-sm);
  background: #1311098c;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 0.9rem;
  padding: 0.8rem 1rem;
  display: grid;
}
.bc-tell-name {
  font-family: var(--display);
  color: var(--ink);
  font-size: 0.98rem;
  font-weight: 600;
}
.bc-tell-body {
  color: var(--ink-2);
  margin-top: 0.35rem;
  font-size: 0.9rem;
  line-height: 1.6;
}
.tb-steps {
  gap: 0;
  margin-bottom: 2rem;
  display: grid;
}
.tb-step {
  grid-template-columns: 2.1rem minmax(0, 1fr);
  align-items: baseline;
  gap: 0.85rem;
  padding: 0.5rem 0;
  display: grid;
}
.tb-step-n {
  font-family: var(--mono);
  color: var(--gild);
  letter-spacing: 0.08em;
  font-size: 0.7rem;
}
.tb-step-t {
  color: var(--ink);
  font-size: 0.95rem;
  line-height: 1.6;
}
.tb-step + .tb-step {
  border-top: 1px solid var(--rule);
}
.tb-dials {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 0.6rem;
  display: grid;
}
@media (max-width: 620px) {
  .tb-dials {
    grid-template-columns: minmax(0, 1fr);
  }
}
.tb-dial {
  text-align: left;
  cursor: pointer;
  border: 1px solid var(--rule);
  border-top: 2px solid var(--gild);
  border-radius: var(--r-sm);
  background: #1311098c;
  align-content: start;
  gap: 0.4rem;
  width: 100%;
  padding: 0.85rem 1rem;
  transition:
    border-color 0.18s,
    background 0.18s;
  display: grid;
}
.tb-dial:hover {
  background: #241f1699;
}
.tb-dial[aria-expanded="true"] {
  border-color: var(--rule-strong);
  border-top-color: var(--gild);
  background: #241f168c;
}
.tb-dial-head {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.6rem;
  display: grid;
}
.tb-dial-name {
  font-family: var(--display);
  color: var(--ink);
  font-size: 0.98rem;
  font-weight: 600;
}
.tb-dial-sign {
  font-family: var(--mono);
  color: var(--ink-3);
  font-size: 0.85rem;
  transition: transform 0.2s;
}
.tb-dial[aria-expanded="true"] .tb-dial-sign {
  transform: rotate(45deg);
}
@media (prefers-reduced-motion: reduce) {
  .tb-dial-sign {
    transition: none;
  }
}
.tb-dial-does {
  color: var(--ink-2);
  font-size: 0.88rem;
  line-height: 1.6;
}
.tb-dial-for {
  border-top: 1px dashed var(--rule);
  color: var(--gild-hi);
  margin-top: 0.55rem;
  padding-top: 0.55rem;
  font-size: 0.88rem;
  line-height: 1.6;
}
.tb-dial-for[hidden] {
  display: none;
}
.tb-dial-for b {
  font-weight: 400;
  font-family: var(--mono);
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--ink-3);
  margin-bottom: 0.3rem;
  font-size: 0.62rem;
  display: block;
}
.sp-head {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  margin-bottom: 1rem;
  display: flex;
}
.sp-tally {
  font-family: var(--mono);
  letter-spacing: 0.1em;
  color: var(--ink-3);
  font-size: 0.72rem;
}
.sp-tally b {
  color: var(--ink);
  font-weight: 400;
}
.sp-rows {
  gap: 0.5rem;
  display: grid;
}
.sp-row {
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  background: #1311098c;
  grid-template-columns: 6.5rem minmax(0, 1fr) minmax(0, 1fr);
  align-items: stretch;
  gap: 0.9rem;
  padding: 0.7rem 0.9rem;
  display: grid;
}
@media (max-width: 700px) {
  .sp-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.55rem;
  }
}
.sp-part {
  font-family: var(--mono);
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--ink-3);
  align-self: center;
  font-size: 0.66rem;
}
.sp-bar {
  cursor: pointer;
  text-align: left;
  border-radius: var(--r-sm);
  background: 0 0;
  border: 1px solid #0000;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 0.65rem;
  padding: 0.45rem 0.55rem;
  transition:
    border-color 0.18s,
    background 0.18s;
  display: grid;
}
.sp-bar:hover {
  border-color: var(--rule);
}
.sp-bar[aria-pressed="true"][data-bar="min"] {
  background: #8496a112;
  border-color: #8496a173;
}
.sp-bar[aria-pressed="true"][data-bar="rec"] {
  background: #5b8f740f;
  border-color: #5b8f7473;
}
.sp-mark {
  border: 1px solid var(--rule-strong);
  border-radius: var(--r-sm);
  color: #0000;
  flex: none;
  place-items: center;
  width: 18px;
  height: 18px;
  margin-top: 0.15rem;
  font-size: 0.7rem;
  line-height: 1;
  transition:
    border-color 0.18s,
    background 0.18s,
    color 0.18s;
  display: grid;
}
.sp-bar[aria-pressed="true"][data-bar="min"] .sp-mark {
  border-color: var(--mist);
  color: var(--mist);
  background: #8496a133;
}
.sp-bar[aria-pressed="true"][data-bar="rec"] .sp-mark {
  border-color: var(--verdigris);
  color: var(--verdigris);
  background: #5b8f7433;
}
@media (prefers-reduced-motion: reduce) {
  .sp-bar,
  .sp-mark {
    transition: none;
  }
}
.sp-tier {
  font-family: var(--mono);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: 0.2rem;
  font-size: 0.58rem;
  display: block;
}
.sp-bar[data-bar="min"] .sp-tier {
  color: var(--mist);
}
.sp-bar[data-bar="rec"] .sp-tier {
  color: var(--verdigris);
}
.sp-val {
  color: var(--ink);
  font-size: 0.9rem;
  line-height: 1.5;
}
.sp-verdict {
  border-left: 2px solid var(--sp-tone);
  background: #1311098c;
  margin-top: 1.3rem;
  padding: 0.95rem 1.1rem;
}
.sp-verdict[data-kind="none"] {
  --sp-tone: var(--rule-strong);
}
.sp-verdict[data-kind="min"] {
  --sp-tone: var(--mist);
}
.sp-verdict[data-kind="rec"] {
  --sp-tone: var(--verdigris);
}
.sp-verdict[data-kind="short"] {
  --sp-tone: var(--seal);
}
.sp-verdict-head {
  font-family: var(--mono);
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--sp-tone);
  font-size: 0.68rem;
}
.sp-verdict-body {
  color: var(--ink-2);
  margin-top: 0.5rem;
  font-size: 0.95rem;
  line-height: 1.65;
}
.bm-tabs {
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.3rem;
  display: flex;
}
.bm-tab {
  cursor: pointer;
  font-family: var(--display);
  letter-spacing: 0.02em;
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  color: var(--ink-2);
  background: #1311098c;
  padding: 0.5rem 0.95rem;
  font-size: 0.92rem;
  font-weight: 600;
  transition:
    border-color 0.18s,
    background 0.18s,
    color 0.18s;
}
.bm-tab:hover {
  border-color: var(--rule-strong);
  color: var(--ink);
}
.bm-tab[aria-selected="true"] {
  border-color: var(--gild);
  background: var(--gild-dim);
  color: var(--gild-hi);
}
@media (prefers-reduced-motion: reduce) {
  .bm-tab {
    transition: none;
  }
}
.bm-tab small {
  font-weight: 400;
  font-family: var(--mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-3);
  margin-top: 0.15rem;
  font-size: 0.58rem;
  display: block;
}
.bm-moves {
  gap: 0.55rem;
  display: grid;
}
.bm-move {
  border: 1px solid var(--rule);
  border-left: 2px solid var(--bm-tone);
  border-radius: var(--r-sm);
  background: #1311098c;
  padding: 0.85rem 1rem;
}
.bm-move[data-threat="killer"] {
  --bm-tone: var(--seal);
}
.bm-move[data-threat="punish"] {
  --bm-tone: var(--gild);
}
.bm-move[data-threat="normal"] {
  --bm-tone: var(--mist);
}
.bm-move-head {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  gap: 0.7rem;
  display: grid;
}
.bm-name {
  font-family: var(--display);
  color: var(--ink);
  font-size: 1rem;
  font-weight: 600;
}
.bm-flag {
  font-family: var(--mono);
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--bm-tone);
  white-space: nowrap;
  font-size: 0.58rem;
}
.bm-lines {
  gap: 0.5rem;
  margin-top: 0.7rem;
  display: grid;
}
.bm-line {
  grid-template-columns: 4.6rem minmax(0, 1fr);
  align-items: baseline;
  gap: 0.85rem;
  display: grid;
}
@media (max-width: 560px) {
  .bm-line {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.15rem;
  }
}
.bm-key {
  font-family: var(--mono);
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-size: 0.62rem;
}
.bm-val {
  color: var(--ink-2);
  font-size: 0.9rem;
  line-height: 1.6;
}
.bm-line[data-line="cost"] .bm-val {
  color: var(--bm-tone);
}
.bm-note {
  border-left: 2px solid var(--gild);
  color: var(--ink-2);
  background: #c8a13c0f;
  margin-bottom: 1.2rem;
  padding: 0.8rem 1rem;
  font-size: 0.92rem;
  line-height: 1.65;
}
.bm-glow {
  --bm-glow-tone: var(--mist);
  font-family: var(--mono);
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--bm-glow-tone);
  align-items: center;
  gap: 0.45rem;
  margin: 0.55rem 0 0;
  font-size: 0.6rem;
  display: flex;
}
.bm-glow[data-glow="red"] {
  --bm-glow-tone: #d4634a;
}
.bm-glow[data-glow="golden"] {
  --bm-glow-tone: #e0b551;
}
.bm-glow[data-glow="yellow"] {
  --bm-glow-tone: #cfc061;
}
.bm-glow-dot {
  background: var(--bm-glow-tone);
  width: 8px;
  height: 8px;
  box-shadow: 0 0 6px 1px var(--bm-glow-tone);
  border-radius: 50%;
  flex: none;
}
.bm-glowkey {
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  background: #1311098c;
  flex-wrap: wrap;
  gap: 0.5rem 1.4rem;
  margin: 0 0 1.3rem;
  padding: 0.75rem 1rem;
  list-style: none;
  display: flex;
}
.bm-glowkey .bm-glow {
  margin: 0;
}
.pc-picks {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  display: grid;
}
@media (max-width: 620px) {
  .pc-picks {
    grid-template-columns: minmax(0, 1fr);
  }
}
.pc-label {
  font-family: var(--mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-3);
  margin-bottom: 0.5rem;
  font-size: 0.66rem;
  display: block;
}
.pc-opts {
  gap: 0.35rem;
  display: grid;
}
.pc-opt {
  cursor: pointer;
  text-align: left;
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  background: #1311098c;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0.6rem;
  padding: 0.5rem 0.7rem;
  transition:
    border-color 0.18s,
    background 0.18s;
  display: grid;
}
.pc-opt:hover {
  border-color: var(--rule-strong);
}
.pc-opt[aria-pressed="true"] {
  border-color: var(--gild);
  background: var(--gild-dim);
}
@media (prefers-reduced-motion: reduce) {
  .pc-opt {
    transition: none;
  }
}
.pc-dot {
  background: var(--rule-strong);
  flex: none;
  width: 7px;
  height: 7px;
  transform: rotate(45deg);
}
.pc-opt[aria-pressed="true"] .pc-dot {
  background: var(--gild);
}
.pc-name {
  color: var(--ink);
  font-size: 0.92rem;
  line-height: 1.35;
}
.pc-opt[aria-pressed="true"] .pc-name {
  color: var(--gild-hi);
}
.pc-build {
  font-family: var(--mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-3);
  margin-top: 0.15rem;
  font-size: 0.56rem;
  display: block;
}
.pc-answer {
  border-left: 2px solid var(--pc-tone);
  background: #1311098c;
  margin-top: 1.6rem;
  padding: 1rem 1.15rem;
}
.pc-answer[data-ok="yes"] {
  --pc-tone: var(--verdigris);
}
.pc-answer[data-ok="no"] {
  --pc-tone: var(--seal);
}
.pc-verdict {
  font-family: var(--display);
  color: var(--pc-tone);
  font-size: clamp(1.1rem, 3vw, 1.35rem);
  font-weight: 600;
}
.pc-why {
  color: var(--ink-2);
  margin-top: 0.6rem;
  font-size: 0.95rem;
  line-height: 1.65;
}
.pc-working {
  border-top: 1px dashed var(--rule);
  gap: 0.4rem;
  margin-top: 0.9rem;
  padding-top: 0.8rem;
  display: grid;
}
.pc-work-row {
  grid-template-columns: 6.5rem minmax(0, 1fr);
  align-items: baseline;
  gap: 0.8rem;
  display: grid;
}
@media (max-width: 520px) {
  .pc-work-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.1rem;
  }
}
.pc-work-key {
  font-family: var(--mono);
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-size: 0.6rem;
}
.pc-work-val {
  color: var(--ink-2);
  font-size: 0.88rem;
  line-height: 1.55;
}
.rv-picks {
  gap: 1.2rem;
  display: grid;
}
.rv-q-label {
  font-family: var(--mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-3);
  margin-bottom: 0.55rem;
  font-size: 0.66rem;
  display: block;
}
.rv-opts {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr));
  gap: 0.4rem;
  display: grid;
}
.rv-opt {
  cursor: pointer;
  text-align: left;
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  min-height: 48px;
  color: var(--ink);
  font-family: var(--body);
  background: #1311098c;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0.6rem;
  padding: 0.6rem 0.8rem;
  font-size: 0.92rem;
  line-height: 1.35;
  transition:
    border-color 0.18s,
    background 0.18s;
  display: grid;
}
.rv-opt:hover {
  border-color: var(--rule-strong);
}
.rv-opt[aria-pressed="true"] {
  border-color: var(--gild);
  background: var(--gild-dim);
  color: var(--gild-hi);
}
@media (prefers-reduced-motion: reduce) {
  .rv-opt {
    transition: none;
  }
}
.rv-dot {
  background: var(--rule-strong);
  flex: none;
  width: 7px;
  height: 7px;
  transform: rotate(45deg);
}
.rv-opt[aria-pressed="true"] .rv-dot {
  background: var(--gild);
}
.rv-answer {
  border-left: 2px solid var(--rv-tone);
  background: #1311098c;
  margin-top: 1.6rem;
  padding: 1rem 1.15rem;
}
.rv-answer[data-tone="yes"] {
  --rv-tone: var(--verdigris);
}
.rv-answer[data-tone="maybe"] {
  --rv-tone: var(--mist);
}
.rv-answer[data-tone="no"] {
  --rv-tone: var(--seal);
}
.rv-verdict {
  font-family: var(--display);
  color: var(--rv-tone);
  margin: 0;
  font-size: clamp(1.1rem, 3vw, 1.35rem);
  font-weight: 600;
}
.rv-why {
  color: var(--ink-2);
  margin-top: 0.6rem;
  font-size: 0.95rem;
  line-height: 1.65;
}
.rv-working {
  border-top: 1px dashed var(--rule);
  gap: 0.55rem;
  margin-top: 0.9rem;
  padding-top: 0.8rem;
  display: grid;
}
.rv-work-row {
  grid-template-columns: 8.5rem minmax(0, 1fr);
  align-items: baseline;
  gap: 0.8rem;
  display: grid;
}
@media (max-width: 560px) {
  .rv-work-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.1rem;
  }
}
.rv-work-key {
  font-family: var(--mono);
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-size: 0.6rem;
}
.rv-work-val {
  color: var(--ink-2);
  font-size: 0.88rem;
  line-height: 1.55;
}
.rv-verdict {
  border-left: 2px solid var(--gild);
  max-width: 62ch;
  margin-top: 1.3rem;
  padding-left: 0.95rem;
}
.rv-verdict-eyebrow {
  font-family: var(--mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gild);
  margin: 0;
  font-size: 0.62rem;
}
.rv-verdict-line {
  font-family: var(--display);
  margin: 0.6rem 0 0;
  font-size: clamp(1.35rem, 3.4vw, 2rem);
  font-weight: 600;
  line-height: 1.22;
}
.rv-verdict-detail {
  color: var(--ink-2);
  margin: 0.9rem 0 0;
}
.rv-verdict-stamp {
  font-family: var(--mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-3);
  margin: 1.2rem 0 0;
  font-size: 0.62rem;
}
.rv-scores {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr));
  gap: 1rem;
  margin: 1.5rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.rv-score {
  background: var(--panel-2);
  border: 1px solid var(--rule);
  border-radius: var(--r-md);
  padding: 1rem 1.1rem;
}
.rv-score-src {
  font-family: var(--mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-size: 0.58rem;
  display: block;
}
.rv-score-val {
  font-family: var(--display);
  color: var(--rung-7);
  margin: 0.5rem 0 0;
  font-size: clamp(2rem, 5.5vw, 2.7rem);
  line-height: 1;
}
.rv-score-val small {
  color: var(--ink-3);
  margin-left: 0.15em;
  font-size: 0.42em;
}
.rv-score-meta {
  color: var(--ink-2);
  margin: 0.45rem 0 0;
  font-size: 0.84rem;
  line-height: 1.5;
}
.rv-ledger {
  border-collapse: collapse;
  width: 100%;
  margin-top: 1.4rem;
  font-size: 0.94rem;
}
.rv-ledger th {
  font-family: var(--mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-3);
  text-align: left;
  border-bottom: 1px solid var(--rule-strong);
  padding: 0.55rem 0.6rem;
  font-size: 0.58rem;
  font-weight: 400;
}
.rv-ledger td {
  border-bottom: 1px solid var(--rule);
  color: var(--ink-2);
  vertical-align: top;
  padding: 0.62rem 0.6rem;
}
.rv-ledger td:last-child,
.rv-ledger th:last-child {
  text-align: right;
  white-space: nowrap;
}
.rv-num {
  font-family: var(--mono);
  color: var(--rung-7);
}
.rv-tag {
  font-family: var(--mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-3);
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  vertical-align: 0.12em;
  margin-left: 0.4rem;
  padding: 0.06rem 0.32rem;
  font-size: 0.54rem;
  display: inline-block;
}
@media (max-width: 700px) {
  .rv-ledger,
  .rv-ledger tbody,
  .rv-ledger tr,
  .rv-ledger td {
    width: 100%;
    display: block;
  }
  .rv-ledger thead {
    display: none;
  }
  .rv-ledger tr {
    border: 1px solid var(--rule);
    border-radius: var(--r-sm);
    background: #1311098c;
    margin-bottom: 0.6rem;
    padding: 0.7rem 0.85rem;
  }
  .rv-ledger td {
    border: 0;
    padding: 0.12rem 0;
  }
  .rv-ledger td:last-child {
    text-align: left;
  }
  .rv-ledger td[data-k]:before {
    content: attr(data-k) " · ";
    font-family: var(--mono);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--ink-3);
    font-size: 0.56rem;
  }
}
.rv-cols {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
  gap: 1.2rem;
  margin-top: 1.5rem;
  display: grid;
}
.rv-col {
  background: var(--panel-2);
  border: 1px solid var(--rule);
  border-radius: var(--r-md);
  padding: 1.1rem 1.2rem;
}
.rv-col h3 {
  margin: 0 0 0.7rem;
  font-size: 1.02rem;
}
.rv-col ul {
  color: var(--ink-2);
  margin: 0;
  padding-left: 1.1rem;
  font-size: 0.95rem;
}
.rv-col li {
  margin: 0.45rem 0;
}
.rv-col[data-t="up"] h3 {
  color: var(--verdigris);
}
.rv-col[data-t="down"] h3 {
  color: var(--seal-hi);
}
.wid-picks {
  gap: 1.2rem;
  display: grid;
}
.wid-q-label {
  font-family: var(--mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-3);
  margin-bottom: 0.55rem;
  font-size: 0.66rem;
  display: block;
}
.wid-opts {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
  gap: 0.4rem;
  display: grid;
}
.wid-opt {
  cursor: pointer;
  text-align: left;
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  min-height: 48px;
  color: var(--ink);
  font-family: var(--body);
  background: #1311098c;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0.6rem;
  padding: 0.6rem 0.8rem;
  font-size: 0.92rem;
  line-height: 1.35;
  transition:
    border-color 0.18s,
    background 0.18s;
  display: grid;
}
.wid-opt:hover {
  border-color: var(--rule-strong);
}
.wid-opt[aria-pressed="true"] {
  border-color: var(--gild);
  background: var(--gild-dim);
  color: var(--gild-hi);
}
@media (prefers-reduced-motion: reduce) {
  .wid-opt {
    transition: none;
  }
}
.wid-dot {
  background: var(--rule-strong);
  flex: none;
  width: 7px;
  height: 7px;
  transform: rotate(45deg);
}
.wid-opt[aria-pressed="true"] .wid-dot {
  background: var(--gild);
}
.wid-answer {
  border-left: 2px solid var(--wid-tone);
  background: #1311098c;
  margin-top: 1.6rem;
  padding: 1rem 1.15rem;
}
.wid-answer[data-tone="yes"] {
  --wid-tone: var(--verdigris);
}
.wid-answer[data-tone="maybe"] {
  --wid-tone: var(--mist);
}
.wid-answer[data-tone="no"] {
  --wid-tone: var(--seal);
}
.wid-name {
  font-family: var(--display);
  color: var(--wid-tone);
  margin: 0;
  font-size: clamp(1.1rem, 3vw, 1.35rem);
  font-weight: 600;
}
.wid-what {
  color: var(--ink-2);
  margin-top: 0.6rem;
  font-size: 0.95rem;
  line-height: 1.65;
}
.wid-next {
  border-top: 1px dashed var(--rule);
  grid-template-columns: 5.5rem minmax(0, 1fr);
  align-items: baseline;
  gap: 0.8rem;
  margin-top: 0.9rem;
  padding-top: 0.8rem;
  display: grid;
}
@media (max-width: 560px) {
  .wid-next {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.15rem;
  }
}
.wid-next-key {
  font-family: var(--mono);
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--gild);
  font-size: 0.6rem;
}
.wid-next-val {
  color: var(--ink);
  font-size: 0.92rem;
  line-height: 1.6;
}
.wid-correction {
  border-top: 1px dashed var(--rule);
  color: var(--ink-2);
  margin-top: 0.9rem;
  padding-top: 0.8rem;
  font-size: 0.89rem;
  line-height: 1.6;
}
.wid-correction-key {
  font-family: var(--mono);
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--seal-hi);
  margin-bottom: 0.3rem;
  font-size: 0.6rem;
  display: block;
}
.cr-rows {
  gap: 0.9rem;
  display: grid;
}
.cr-row {
  border: 1px solid var(--rule);
  border-left: 2px solid var(--cr-tone);
  border-radius: var(--r-sm);
  background: var(--panel-2);
  padding: 1rem 1.15rem;
}
.cr-row[data-depth="documented"] {
  --cr-tone: var(--verdigris);
}
.cr-row[data-depth="described"] {
  --cr-tone: var(--mist);
}
.cr-row[data-depth="named"] {
  --cr-tone: var(--rule-strong);
}
.cr-head {
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.5rem 0.8rem;
  display: flex;
}
.cr-name {
  font-family: var(--display);
  color: var(--ink);
  margin: 0;
  font-size: 1.08rem;
  font-weight: 600;
}
.cr-name a {
  color: inherit;
  text-underline-offset: 3px;
  text-decoration: underline;
}
.cr-where {
  font-family: var(--mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-3);
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  padding: 0.08rem 0.36rem;
  font-size: 0.56rem;
}
.cr-role {
  color: var(--ink-2);
  margin: 0.5rem 0 0;
  font-size: 0.95rem;
  line-height: 1.6;
}
.cr-lines {
  border-top: 1px dashed var(--rule);
  gap: 0.5rem;
  margin-top: 0.85rem;
  padding-top: 0.75rem;
  display: grid;
}
.cr-line {
  grid-template-columns: 6.5rem minmax(0, 1fr);
  align-items: baseline;
  gap: 0.8rem;
  display: grid;
}
@media (max-width: 560px) {
  .cr-line {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.12rem;
  }
}
.cr-key {
  font-family: var(--mono);
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-size: 0.58rem;
}
.cr-line[data-line="missing"] .cr-key {
  color: var(--seal-hi);
}
.cr-val {
  color: var(--ink-2);
  font-size: 0.9rem;
  line-height: 1.6;
}
.ex-rows {
  gap: 0.5rem;
  display: grid;
}
.ex-row {
  border: 1px solid var(--rule);
  border-left: 2px solid var(--ex-tone);
  border-radius: var(--r-sm);
  background: #1311098c;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 0.9rem;
  padding: 0.8rem 1rem;
  display: grid;
}
.ex-row[data-state="no"] {
  --ex-tone: var(--seal);
}
.ex-row[data-state="myth"] {
  --ex-tone: var(--mist);
}
.ex-row[data-state="yes"] {
  --ex-tone: var(--verdigris);
}
.ex-mark {
  border: 1px solid var(--ex-tone);
  border-radius: var(--r-sm);
  width: 22px;
  height: 22px;
  color: var(--ex-tone);
  font-family: var(--mono);
  flex: none;
  place-items: center;
  margin-top: 0.1rem;
  font-size: 0.8rem;
  line-height: 1;
  display: grid;
}
.ex-name {
  font-family: var(--display);
  color: var(--ink);
  font-size: 0.98rem;
  font-weight: 600;
}
.ex-state {
  font-family: var(--mono);
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--ex-tone);
  margin-top: 0.2rem;
  font-size: 0.56rem;
  display: block;
}
.ex-body {
  color: var(--ink-2);
  margin-top: 0.45rem;
  font-size: 0.9rem;
  line-height: 1.6;
}
.sb-classes {
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-bottom: 1.5rem;
  display: flex;
}
.sb-class {
  cursor: pointer;
  font-family: var(--display);
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  color: var(--ink-2);
  background: #1311098c;
  padding: 0.45rem 0.85rem;
  font-size: 0.9rem;
  font-weight: 600;
  transition:
    border-color 0.18s,
    background 0.18s,
    color 0.18s;
}
.sb-class:hover {
  border-color: var(--rule-strong);
  color: var(--ink);
}
.sb-class[aria-pressed="true"] {
  border-color: var(--gild);
  background: var(--gild-dim);
  color: var(--gild-hi);
}
@media (prefers-reduced-motion: reduce) {
  .sb-class,
  .sb-rec {
    transition: none;
  }
}
.sb-pair {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 0.7rem;
  display: grid;
}
@media (max-width: 760px) {
  .sb-pair {
    grid-template-columns: minmax(0, 1fr);
  }
}
.sb-stance {
  border: 1px solid var(--rule);
  border-top: 2px solid var(--gild);
  border-radius: var(--r-sm);
  background: #1311098c;
  padding: 0.95rem 1rem;
}
.sb-stance-name {
  font-family: var(--display);
  color: var(--ink);
  font-size: 1.05rem;
  font-weight: 600;
}
.sb-stance-does {
  color: var(--ink-2);
  margin-top: 0.4rem;
  font-size: 0.88rem;
  line-height: 1.6;
}
.sb-empty {
  color: var(--ink-3);
  margin-top: 0.6rem;
  font-size: 0.88rem;
  font-style: italic;
  line-height: 1.6;
}
.sb-count {
  font-family: var(--mono);
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--ink-3);
  border-top: 1px dashed var(--rule);
  margin-top: 0.7rem;
  padding-top: 0.6rem;
  font-size: 0.58rem;
  display: block;
}
.sb-recs {
  gap: 0.3rem;
  margin: 0.6rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.sb-rec {
  border-radius: var(--r-sm);
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  gap: 0.6rem;
  padding: 0.4rem 0.5rem;
  transition: background 0.15s;
  display: grid;
}
.sb-rec:hover {
  background: #241f16b3;
}
.sb-rec a {
  color: var(--gild);
  font-size: 0.9rem;
  line-height: 1.4;
  text-decoration: none;
}
.sb-rec:hover a {
  color: var(--gild-hi);
}
.sb-v {
  font-family: var(--mono);
  letter-spacing: 0.11em;
  text-transform: uppercase;
  white-space: nowrap;
  font-size: 0.52rem;
}
.sb-v[data-v="official"] {
  color: var(--gild);
}
.sb-v[data-v="tooltip"] {
  color: var(--verdigris);
}
.sb-v[data-v="tested"] {
  color: var(--mist);
}
.sb-v[data-v="named"],
.sb-v[data-v="uncertain"] {
  color: var(--ink-3);
}
.sb-shared {
  border: 1px solid var(--rule);
  border-left: 2px solid var(--mist);
  border-radius: var(--r-sm);
  background: #1311098c;
  margin-top: 0.7rem;
  padding: 0.95rem 1rem;
}
.sb-shared-name {
  font-family: var(--display);
  color: var(--ink);
  font-size: 1rem;
  font-weight: 600;
}
.sb-shared-note {
  color: var(--ink-2);
  margin-top: 0.35rem;
  font-size: 0.88rem;
  line-height: 1.6;
}
.sb-shared .sb-recs {
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr));
}
.bcmp-row {
  border-top: 1px solid var(--rule);
  grid-template-columns: 9rem minmax(0, 1fr);
  align-items: start;
  gap: 1.2rem;
  padding: 1rem 0;
  display: grid;
}
.bcmp-head {
  border-top: 0;
  padding-top: 0;
}
.bcmp-cells {
  grid-template-columns: repeat(var(--bcmp-n, 2), minmax(0, 1fr));
  gap: 1.2rem;
  display: grid;
}
.bcmp-axis {
  font-family: var(--mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-3);
  padding-top: 0.15rem;
  font-size: 0.74rem;
}
.bcmp-cell-name {
  display: none;
}
.bcmp-pill {
  letter-spacing: 0.09em;
  padding: 0.5rem 1rem;
  font-size: 0.78rem;
}
.bcmp-pill[aria-pressed="true"] {
  border-color: var(--gild);
  color: var(--gild-hi);
  background: var(--gild-dim);
}
@media (max-width: 700px) {
  .bcmp-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.7rem;
  }
  .bcmp-cells {
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
  }
  .bcmp-head {
    display: none;
  }
  .bcmp-cell-name {
    font-family: var(--mono);
    letter-spacing: 0.11em;
    text-transform: uppercase;
    color: var(--gild);
    margin-bottom: 0.45rem;
    font-size: 0.74rem;
    display: block;
  }
  .bcmp-cell:not([hidden]) ~ .bcmp-cell:not([hidden]) {
    border-top: 1px dashed var(--rule);
    padding-top: 1rem;
  }
}
.rm-rail {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.rm-tab {
  text-align: left;
  width: 100%;
  color: inherit;
  font: inherit;
  cursor: pointer;
  border: 0;
  border-top: 2px solid var(--rule);
  background: 0 0;
  gap: 0.5rem;
  padding: 0.85rem 0.9rem 0.95rem;
  transition:
    border-color 0.25s,
    background 0.25s;
  display: grid;
}
.rm-tab:hover {
  border-top-color: var(--rule-strong);
  background: #c8a13c0d;
}
.rm-tab[aria-selected="true"] {
  border-top-color: var(--tone, var(--gild));
  background: #c8a13c0f;
}
.rm-tab-when {
  font-family: var(--mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-size: 0.68rem;
}
.rm-tab[aria-selected="true"] .rm-tab-when {
  color: var(--tone, var(--gild));
}
.rm-tab-name {
  font-family: var(--display);
  color: var(--ink);
  font-size: clamp(1rem, 1.9vw, 1.22rem);
  font-weight: 700;
  line-height: 1.25;
}
.rm-tab-hint {
  color: var(--ink-2);
  font-size: 0.84rem;
  line-height: 1.55;
}
.rm-panel {
  grid-template-columns: minmax(0, 17rem) minmax(0, 1fr);
  align-items: start;
  gap: clamp(1.2rem, 3vw, 2.2rem);
  display: grid;
}
.rm-panel[hidden] {
  display: none;
}
.rm-art {
  margin: 0;
}
.rm-art img {
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  background: #000;
  width: 100%;
  height: auto;
  display: block;
}
.rm-art figcaption {
  font-family: var(--mono);
  letter-spacing: 0.04em;
  color: var(--ink-3);
  margin-top: 0.6rem;
  font-size: 0.66rem;
  line-height: 1.7;
}
.rm-entries {
  gap: 0.8rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.rm-from {
  font-family: var(--mono);
  letter-spacing: 0.06em;
  color: var(--ink-3);
  margin-top: 0.6rem;
  font-size: 0.64rem;
}
.rm-head {
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.6rem 0.9rem;
  margin-bottom: 1rem;
  display: flex;
}
.rm-head h3 {
  font-size: clamp(1.15rem, 2.4vw, 1.5rem);
}
@media (max-width: 700px) {
  .rm-rail {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }
  .rm-tab {
    border-top: 0;
    border-left: 2px solid var(--rule);
    padding-left: 1rem;
  }
  .rm-tab[aria-selected="true"] {
    border-left-color: var(--tone, var(--gild));
  }
  .rm-panel {
    grid-template-columns: minmax(0, 1fr);
  }
}
.sh-loop {
  grid-template-rows: repeat(3, auto);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-flow: column;
  align-content: start;
  column-gap: clamp(1.2rem, 3vw, 2.4rem);
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.sh-step {
  align-content: start;
  display: grid;
}
.sh-join {
  background: var(--rule-strong);
  width: 1px;
  height: 1.5rem;
  margin: 0 auto;
  position: relative;
}
.sh-join:after {
  content: "";
  background: var(--gild);
  opacity: 0.75;
  width: 5px;
  height: 5px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
.sh-step:nth-child(3) .sh-join {
  display: none;
}
.sh-return {
  border: 1px dashed var(--rule-strong);
  border-radius: var(--r-sm);
  font-family: var(--mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-3);
  text-align: center;
  justify-content: center;
  align-items: center;
  gap: 0.7rem;
  margin-top: 1.4rem;
  padding: 0.75rem 1rem;
  font-size: 0.72rem;
  display: flex;
}
.sh-return span[aria-hidden] {
  color: var(--gild);
}
@media (max-width: 700px) {
  .sh-loop {
    grid-template-rows: none;
    grid-template-columns: minmax(0, 1fr);
    grid-auto-flow: row;
  }
  .sh-step:nth-child(3) .sh-join {
    display: block;
  }
}
.reccell {
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  background: #0000002e;
  align-items: center;
  gap: 0.6rem;
  height: 100%;
  padding: 0.5rem 0.6rem;
  text-decoration: none;
  transition:
    border-color 0.15s,
    background 0.15s;
  display: flex;
}
.reccell:hover,
.reccell:focus-visible {
  border-color: var(--gild);
  background: #00000052;
}
.ps-grid {
  background: var(--rule);
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
  gap: 1px;
  display: grid;
  overflow: hidden;
}
.ps-cell {
  background: var(--panel);
  align-content: start;
  gap: 0.4rem;
  padding: 1rem 1.1rem;
  display: grid;
}
.ps-key {
  font-family: var(--mono);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-size: 0.57rem;
}
.ps-val {
  font-family: var(--display);
  color: var(--ink);
  font-size: 1.02rem;
  font-weight: 600;
  line-height: 1.35;
}
.ps-sub {
  font-family: var(--mono);
  color: var(--ink-3);
  font-size: 0.68rem;
  line-height: 1.6;
}
.ps-next {
  margin-top: 0.3rem;
  display: grid;
}
.ps-next a {
  border-top: 1px solid var(--rule);
  min-height: 48px;
  color: var(--gild);
  justify-content: space-between;
  align-items: center;
  gap: 0.6rem;
  font-size: 0.9rem;
  text-decoration: none;
  display: flex;
}
.ps-next a:hover,
.ps-next a:focus-visible {
  text-underline-offset: 3px;
  text-decoration: underline;
}
.ps-status {
  font-family: var(--mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.7rem;
  display: inline-flex;
}
.ps-dot {
  background: currentColor;
  border-radius: 50%;
  flex: none;
  width: 8px;
  height: 8px;
  animation: 2.6s infinite ps-pulse;
}
@keyframes ps-pulse {
  0% {
    box-shadow: 0 0 0 0 color-mix(in srgb, currentColor 55%, transparent);
  }
  70% {
    box-shadow: 0 0 0 7px #0000;
  }
  to {
    box-shadow: 0 0 #0000;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ps-dot {
    animation: none;
  }
}
.ps-clock {
  gap: 0.5rem;
  display: flex;
}
.ps-unit {
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  background: #c8a13c0b;
  justify-items: center;
  gap: 0.25rem;
  min-width: 3.1rem;
  padding: 0.5rem 0.3rem;
  display: grid;
}
.ps-unit b {
  font-family: var(--mono);
  color: var(--gild);
  font-variant-numeric: tabular-nums;
  font-size: 1.22rem;
  font-weight: 500;
}
.ps-unit span {
  font-family: var(--mono);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-size: 0.5rem;
}
.ps-routes {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
  gap: 0.6rem;
  display: grid;
}
.ps-h {
  font-size: clamp(1.25rem, 2.4vw, 1.7rem);
}
.ps-lead {
  border: 1px solid var(--rule);
  border-left: 2px solid var(--gild);
  border-radius: var(--r-sm);
  background: #c8a13c0d;
  gap: 0.35rem;
  margin-top: 1rem;
  padding: 0.85rem 1rem;
  display: grid;
}
.ps-lead-val {
  font-family: var(--display);
  color: var(--gild-hi);
  font-size: clamp(1.1rem, 3vw, 1.35rem);
  font-weight: 600;
  line-height: 1.3;
}
.ci-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
  align-items: start;
  gap: 0.7rem;
  display: grid;
}
.ci-card {
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  background: var(--panel);
  transition: border-color 0.22s;
  overflow: hidden;
}
.ci-card[data-open="true"] {
  border-color: #c8a13c73;
}
.ci-head {
  text-align: left;
  cursor: pointer;
  width: 100%;
  color: inherit;
  font: inherit;
  background: 0 0;
  border: 0;
  grid-template-columns: 3.6rem minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.85rem;
  min-height: 56px;
  padding: 0.75rem 0.9rem;
  display: grid;
}
.ci-head:hover .ci-name {
  color: var(--gild-hi);
}
.ci-por {
  border-radius: var(--r-sm);
  border: 1px solid var(--rule);
  flex: none;
  width: 3.6rem;
  height: 3.6rem;
  overflow: hidden;
}
.ci-name {
  font-family: var(--display);
  font-size: 1.02rem;
  font-weight: 600;
  transition: color 0.22s;
  display: block;
}
.ci-dir {
  font-family: var(--mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-top: 0.28rem;
  font-size: 0.6rem;
  display: block;
}
.ci-chev {
  color: var(--ink-3);
  flex: none;
  transition: transform 0.24s;
}
.ci-card[data-open="true"] .ci-chev {
  color: var(--gild);
  transform: rotate(180deg);
}
.ci-body {
  border-top: 1px solid var(--rule);
  padding: 0 0.9rem 1rem;
}
@media (max-width: 640px) {
  .ci-head {
    grid-template-columns: 2.9rem minmax(0, 1fr) auto;
  }
  .ci-por {
    width: 2.9rem;
    height: 2.9rem;
  }
}
.cc-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr));
  gap: 0.7rem;
  display: grid;
}
.cc-card {
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  background: var(--panel);
  align-content: start;
  gap: 0.7rem;
  padding: 1rem 1.1rem;
  display: grid;
}
.cc-deltas {
  flex-wrap: wrap;
  gap: 0.4rem;
  display: flex;
}
.cc-delta {
  border-radius: var(--r-sm);
  font-family: var(--mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border: 1px solid;
  align-items: center;
  gap: 0.34rem;
  padding: 0.24rem 0.55rem;
  font-size: 0.6rem;
  display: inline-flex;
}
.cc-quote {
  color: var(--ink-2);
  border-left: 2px solid var(--rule-strong);
  margin: 0;
  padding-left: 0.85rem;
  font-size: 0.95rem;
  font-style: italic;
  line-height: 1.65;
}
.cc-mean {
  color: var(--ink);
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.65;
}
.seg {
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  display: inline-flex;
  overflow: hidden;
}
.seg button {
  font-family: var(--mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-3);
  cursor: pointer;
  background: 0 0;
  border: 0;
  min-height: 42px;
  padding: 0.55rem 0.9rem;
  font-size: 0.62rem;
}
.seg button:hover {
  color: var(--ink);
}
.seg button[aria-pressed="true"] {
  background: var(--gild-dim);
  color: var(--gild-hi);
}
.tl {
  border-left: 1px solid var(--rule);
  padding-left: 1.35rem;
  display: grid;
}
.tl-item {
  padding-bottom: 1.3rem;
  position: relative;
}
.tl-item:before {
  content: "";
  background: var(--vellum);
  border: 1px solid var(--gild);
  width: 8px;
  height: 8px;
  position: absolute;
  top: 0.45rem;
  left: calc(-1.35rem - 4.5px);
  transform: rotate(45deg);
}
.tl-item[data-cat="Update"]:before {
  background: var(--gild);
}
.tl-date {
  font-family: var(--mono);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-size: 0.6rem;
}
.tl-title {
  font-family: var(--display);
  margin-top: 0.3rem;
  font-size: 1.02rem;
  font-weight: 600;
}
.tl-sum {
  color: var(--ink-2);
  max-width: 68ch;
  margin-top: 0.4rem;
  font-size: 0.92rem;
  line-height: 1.65;
}
.filters {
  flex-wrap: wrap;
  gap: 0.45rem;
  display: flex;
}
.filters button {
  font-family: var(--mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  border: 1px solid var(--rule);
  color: var(--ink-3);
  cursor: pointer;
  background: 0 0;
  border-radius: 999px;
  min-height: 42px;
  padding: 0.45rem 0.8rem;
  font-size: 0.6rem;
}
.filters button:hover {
  color: var(--ink);
}
.filters button[aria-pressed="true"] {
  border-color: var(--gild);
  color: var(--gild-hi);
  background: var(--gild-dim);
}
.folio-frame {
  aspect-ratio: 16/10;
}
.folio-rule {
  margin-top: 2.2rem;
}
@media (max-width: 900px) {
  .folio-frame {
    aspect-ratio: 3.5;
  }
  .folio-frame-article {
    aspect-ratio: 16/10;
  }
  .lede {
    font-size: 1.12rem;
    line-height: 1.55;
  }
  .folio-head .chip {
    padding: 0.28rem 0.55rem;
    font-size: 0.6rem;
  }
  .folio-head .wrapflex {
    gap: 0.4rem;
  }
  .crumb {
    font-size: 0.6rem;
  }
  .folio-rule {
    margin-top: 1rem;
  }
  main > .dgm:first-of-type {
    margin-top: 0.9rem;
  }
}
@media (max-width: 700px) {
  .ps-head-eyebrow {
    display: none;
  }
  .ps-h {
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    position: absolute;
    overflow: hidden;
  }
  .ps-lead {
    margin-top: 0.35rem;
    padding: 0.7rem 1rem;
  }
}
.impact-list {
  margin: 1.5rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.impact-list li {
  border-top: 1px solid var(--rule);
}
.impact-list li:last-child {
  border-bottom: 1px solid var(--rule);
}
.impact-row {
  grid-template-columns: 2.2rem minmax(0, 1fr) auto;
  align-items: baseline;
  gap: 1rem;
  padding: 1rem 0.6rem;
  text-decoration: none;
  transition:
    background 0.18s,
    padding-left 0.18s;
  display: grid;
}
.impact-row:hover,
.impact-row:focus-visible {
  background: #c8a13c0d;
  padding-left: 1.1rem;
}
.impact-row:hover .impact-symptom,
.impact-row:focus-visible .impact-symptom {
  color: var(--gild-hi);
}
.impact-index {
  letter-spacing: 0.16em;
  color: var(--gild);
  font-size: 0.62rem;
}
.impact-text {
  gap: 0.4rem;
  display: grid;
}
.impact-symptom {
  font-family: var(--display);
  color: var(--ink);
  font-size: 1.02rem;
  font-weight: 600;
  line-height: 1.35;
  transition: color 0.18s;
}
.impact-answer {
  color: var(--ink-2);
  font-size: 0.9rem;
  line-height: 1.6;
}
.impact-dest {
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gild);
  white-space: nowrap;
  font-size: 0.62rem;
}
@media (max-width: 640px) {
  .impact-row {
    grid-template-columns: 1.9rem minmax(0, 1fr);
    row-gap: 0.6rem;
    padding: 0.95rem 0.4rem;
  }
  .impact-dest {
    grid-column: 2;
  }
}
.pcq-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
  gap: 0.8rem;
  margin: 1.4rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.pcq-card {
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  background: var(--panel-2);
  grid-template-rows: auto 1fr;
  text-decoration: none;
  transition:
    border-color 0.18s,
    transform 0.18s;
  display: grid;
  overflow: hidden;
}
.pcq-card:hover,
.pcq-card:focus-visible {
  border-color: var(--gild);
  transform: translateY(-2px);
}
.pcq-fig {
  aspect-ratio: 21/9;
  border-bottom: 1px solid var(--rule);
  position: relative;
  overflow: hidden;
}
.pcq-fig img {
  filter: saturate(0.82) contrast(1.02);
  transition: transform 0.35s;
}
.pcq-card:hover .pcq-fig img {
  transform: scale(1.045);
}
.pcq-fig:after {
  content: "";
  pointer-events: none;
  background: linear-gradient(#0b0a0800 55%, #0b0a08b8);
  position: absolute;
  inset: 0;
}
.pcq-tag {
  z-index: 1;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gild-hi);
  font-size: 0.56rem;
  position: absolute;
  bottom: 0.55rem;
  left: 0.7rem;
}
.pcq-text {
  align-content: start;
  gap: 0.45rem;
  padding: 0.95rem 1rem 1.05rem;
  display: grid;
}
.pcq-title {
  font-family: var(--display);
  color: var(--ink);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.35;
  transition: color 0.18s;
}
.pcq-card:hover .pcq-title {
  color: var(--gild-hi);
}
.pcq-detail {
  color: var(--ink-2);
  font-size: 0.86rem;
  line-height: 1.6;
}
.pcq-open {
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gild);
  font-size: 0.6rem;
}
.triage-list {
  margin: 1.5rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.triage-list li {
  border-top: 1px solid var(--rule);
}
.triage-list li:last-child {
  border-bottom: 1px solid var(--rule);
}
.triage-row {
  grid-template-columns: 3.4rem minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  padding: 0.85rem 0.6rem;
  text-decoration: none;
  transition:
    background 0.18s,
    padding-left 0.18s;
  display: grid;
}
.triage-row:hover,
.triage-row:focus-visible {
  background: #c8a13c0d;
  padding-left: 1rem;
}
.triage-thumb {
  object-fit: cover;
  border: 1px solid var(--rule-strong);
  border-radius: var(--r-sm);
  filter: saturate(0.8);
  width: 3.4rem;
  height: 3.4rem;
}
.triage-text {
  gap: 0.3rem;
  display: grid;
}
.triage-symptom {
  font-family: var(--display);
  color: var(--ink);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.35;
  transition: color 0.18s;
}
.triage-row:hover .triage-symptom,
.triage-row:focus-visible .triage-symptom {
  color: var(--gild-hi);
}
.triage-verdict {
  color: var(--ink-2);
  font-size: 0.88rem;
  line-height: 1.55;
}
.triage-verdict b {
  color: var(--mist);
  font-weight: 600;
}
.triage-dest {
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gild);
  white-space: nowrap;
  font-size: 0.6rem;
}
@media (max-width: 640px) {
  .triage-row {
    grid-template-columns: 2.9rem minmax(0, 1fr);
    align-items: start;
    row-gap: 0.55rem;
    padding: 0.85rem 0.35rem;
  }
  .triage-thumb {
    width: 2.9rem;
    height: 2.9rem;
  }
  .triage-dest {
    grid-column: 2;
  }
}
.tl-chips {
  border-top: 1px dashed var(--rule);
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.95rem;
  padding-top: 0.85rem;
  display: flex;
}
.tl-chip {
  font-family: var(--mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--gild);
  border-radius: var(--r-sm);
  border: 1px solid #c8a13c59;
  align-items: center;
  padding: 0.42rem 0.65rem;
  font-size: 0.62rem;
  text-decoration: none;
  transition:
    background 0.15s,
    color 0.15s;
  display: inline-flex;
}
.tl-chip:hover,
.tl-chip:focus-visible {
  background: var(--gild-dim);
  color: var(--gild-hi);
}
.tl-chips-label {
  font-family: var(--mono);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-size: 0.58rem;
}
.codes-claim {
  border: 1px solid var(--rule);
  border-left: 2px solid var(--gild);
  border-radius: var(--r-sm);
  background: #c8a13c0b;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 1.2rem;
  padding: 0.95rem 1.05rem;
  display: grid;
}
.codes-claim-title {
  font-family: var(--display);
  color: var(--gild-hi);
  font-size: 1.02rem;
  font-weight: 600;
  line-height: 1.3;
}
.codes-claim-clock {
  text-align: right;
}
@media (max-width: 640px) {
  .codes-claim {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.85rem;
  }
  .codes-claim-clock {
    text-align: left;
  }
}
.cdk-h {
  margin-top: 0.7rem;
  font-size: clamp(1.25rem, 2.4vw, 1.7rem);
}
.cdk-lede {
  max-width: 62ch;
  color: var(--ink-2);
  margin-top: 0.8rem;
  font-size: 1rem;
  line-height: 1.7;
}
.evs-pan {
  overscroll-behavior-x: contain;
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  overflow-x: auto;
}
.cdk-block {
  border-top: 1px solid var(--rule);
  margin-top: 1.6rem;
  padding-top: 1.4rem;
}
.cdk-kicker {
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ink-3);
  margin: 0 0 0.9rem;
  font-size: 0.6rem;
}
.cdk-tabs {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.4rem;
  display: grid;
}
.cdk-tab {
  cursor: pointer;
  background: var(--panel-2);
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  min-height: 48px;
  color: var(--ink-2);
  font-family: var(--mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-align: center;
  padding: 0.6rem 0.4rem;
  font-size: 0.72rem;
  transition:
    border-color 0.16s,
    color 0.16s,
    background 0.16s;
}
.cdk-tab:hover {
  border-color: var(--rule-strong);
  color: var(--ink);
}
.cdk-tab[aria-selected="true"] {
  background: var(--gild-dim);
  border-color: var(--gild);
  color: var(--gild-hi);
}
.cdk-steps {
  gap: 0.6rem;
  margin: 1.1rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.cdk-step {
  grid-template-columns: 1.7rem minmax(0, 1fr);
  align-items: baseline;
  gap: 0.7rem;
  display: grid;
}
.cdk-step-n {
  color: var(--gild);
  font-size: 0.7rem;
}
.cdk-step-t {
  color: var(--ink-2);
  font-size: 0.95rem;
  line-height: 1.65;
}
.cdk-codes {
  gap: 0.7rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.cdk-code {
  border: 1px solid var(--rule);
  border-left: 2px solid var(--verdigris);
  border-radius: var(--r-sm);
  background: var(--panel-2);
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 0.9rem 1.2rem;
  padding: 0.95rem 1.05rem;
  display: grid;
}
.cdk-code[data-live="0"] {
  border-left-color: var(--seal);
  opacity: 0.75;
}
.cdk-code-key {
  letter-spacing: 0.08em;
  color: var(--gild-hi);
  margin: 0;
  font-size: 1.15rem;
}
.cdk-code[data-live="0"] .cdk-code-key {
  color: var(--ink-3);
  text-decoration: line-through;
}
.cdk-code-what {
  color: var(--ink);
  margin: 0.3rem 0 0;
  font-size: 0.95rem;
}
.cdk-code-prov {
  color: var(--ink-3);
  margin: 0.45rem 0 0;
  font-size: 0.86rem;
  line-height: 1.6;
}
.cdk-code-side {
  justify-items: end;
  gap: 0.5rem;
  display: grid;
}
.cdk-tag {
  font-family: var(--mono);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  border-radius: var(--r-sm);
  white-space: nowrap;
  border: 1px solid;
  padding: 0.22rem 0.5rem;
  font-size: 0.58rem;
}
.cdk-tag.is-live {
  color: var(--verdigris);
  border-color: var(--verdigris);
}
.cdk-tag.is-expired {
  color: var(--seal-hi);
  border-color: var(--seal);
}
.cdk-when {
  color: var(--ink-3);
  white-space: nowrap;
  font-size: 0.68rem;
}
.cdk-copy {
  cursor: pointer;
  border: 1px solid var(--rule-strong);
  border-radius: var(--r-sm);
  min-height: 48px;
  color: var(--ink);
  font-family: var(--mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
  background: 0 0;
  padding: 0.5rem 0.9rem;
  font-size: 0.7rem;
}
.cdk-copy:hover {
  border-color: var(--gild);
  color: var(--gild-hi);
}
.cdk-copy[data-copied="1"] {
  border-color: var(--verdigris);
  color: var(--verdigris);
}
.cdk-note {
  max-width: 62ch;
  color: var(--ink-3);
  margin: 0.9rem 0 0;
  font-size: 0.88rem;
  line-height: 1.65;
}
.cdk-dew {
  border: 1px solid var(--rule);
  border-left: 2px solid var(--verdigris);
  border-radius: var(--r-sm);
  background: var(--panel-2);
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 1rem;
  padding: 1rem 1.05rem;
  display: grid;
}
.cdk-dew-clock {
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--verdigris);
  border: 1px solid var(--verdigris);
  border-radius: var(--r-sm);
  text-align: center;
  max-width: 6.5rem;
  padding: 0.35rem 0.55rem;
  font-size: 0.62rem;
  line-height: 1.35;
}
.cdk-dew-h {
  font-family: var(--display);
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.3;
}
.cdk-dew-p {
  color: var(--ink-2);
  margin: 0.5rem 0 0;
  font-size: 0.92rem;
  line-height: 1.65;
}
.cdk-dew-a {
  color: var(--gild);
  text-underline-offset: 3px;
  text-decoration: underline;
}
@media (max-width: 640px) {
  .cdk-code {
    grid-template-columns: minmax(0, 1fr);
  }
  .cdk-code-side {
    grid-auto-flow: row;
    justify-items: start;
  }
  .cdk-dew {
    grid-template-columns: minmax(0, 1fr);
  }
}
.ph {
  margin-top: 2.6rem;
}
.ph-h {
  margin-top: 0.7rem;
  font-size: clamp(1.15rem, 2.2vw, 1.5rem);
}
.ph-lede {
  max-width: 62ch;
  color: var(--ink-2);
  margin-top: 0.8rem;
  font-size: 1rem;
  line-height: 1.7;
}
.ph-btn {
  align-items: center;
  min-height: 48px;
  margin-top: 1.3rem;
  display: inline-flex;
}
.ph-note {
  max-width: 60ch;
  color: var(--ink-3);
  margin: 0.9rem 0 0;
  font-size: 0.86rem;
  line-height: 1.6;
}
@media (max-width: 560px) {
  .ph-btn {
    text-align: center;
    justify-content: center;
    width: 100%;
    display: flex;
  }
}
:root {
  --bp-nerf: #b0654a;
  --bp-buff: #6f9c86;
  --bp-mixed: #8496a1;
}
.bp-group {
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gild);
  margin-bottom: 0.7rem;
  font-size: 0.62rem;
}
.bp-filter-label {
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ink-3);
  margin: 0 0 0.7rem;
  font-size: 0.6rem;
}
.bp-filters {
  flex-wrap: wrap;
  gap: 0.45rem;
  display: flex;
}
.bp-filter {
  cursor: pointer;
  background: var(--panel-2);
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  min-height: 48px;
  color: var(--ink-2);
  font-family: var(--mono);
  letter-spacing: 0.06em;
  padding: 0.5rem 0.85rem;
  font-size: 0.68rem;
  transition:
    border-color 0.16s,
    color 0.16s,
    background 0.16s;
}
.bp-filter:hover {
  border-color: var(--rule-strong);
  color: var(--ink);
}
.bp-filter[aria-pressed="true"] {
  background: var(--gild-dim);
  border-color: var(--gild);
  color: var(--gild-hi);
}
.bp-list {
  gap: 0.55rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.bp-row {
  grid-template-columns: 1.1rem minmax(0, 1fr);
  align-items: baseline;
  gap: 0.6rem;
  display: grid;
}
.bp-mark {
  font-size: 0.72rem;
  line-height: 1.7;
}
.bp-entity {
  color: var(--gild-hi);
  font-size: 0.94rem;
  font-weight: 600;
}
.bp-change {
  color: var(--ink-2);
  margin-top: 0.15rem;
  font-size: 0.9rem;
  line-height: 1.65;
  display: block;
}
.bt-head {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: clamp(0.8rem, 3vw, 1.2rem);
  display: grid;
}
.bt-portrait {
  aspect-ratio: 1;
  border-radius: var(--r-md);
  border: 1px solid var(--rule);
  object-fit: cover;
  object-position: top center;
  flex-shrink: 0;
  width: clamp(64px, 18vw, 92px);
  height: auto;
  display: block;
}
.bt-summary {
  max-width: 60ch;
  color: var(--ink-2);
  margin-top: 0.7rem;
  font-size: 0.98rem;
  line-height: 1.7;
}
.bt-traj {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr));
  gap: 0.5rem;
  margin: 1.4rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.bt-pass {
  appearance: none;
  text-align: left;
  cursor: pointer;
  background: var(--panel-quiet-bg, #1311098c);
  border: 1px solid var(--rule);
  border-left: 2px solid var(--rule-strong);
  border-radius: var(--r-md);
  width: 100%;
  color: inherit;
  font: inherit;
  min-height: 48px;
  padding: 0.7rem 0.8rem;
  transition:
    border-color 0.15s,
    background 0.15s;
}
.bt-pass:hover {
  border-color: var(--rule-strong);
}
.bt-pass[aria-selected="true"] {
  border-left-color: var(--gild);
  background: var(--gild-dim);
}
.bt-date {
  font-family: var(--mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-size: 0.7rem;
}
.bt-pass[aria-selected="true"] .bt-date {
  color: var(--gild-hi);
}
.bt-tally {
  font-family: var(--mono);
  align-items: baseline;
  gap: 0.55rem;
  margin-top: 0.35rem;
  font-size: 0.82rem;
  display: flex;
}
.bt-tally .n {
  color: var(--bp-nerf);
}
.bt-tally .b {
  color: var(--bp-buff);
}
.bt-tally .m {
  color: var(--bp-mixed);
}
.bt-tally .zero {
  color: var(--ink-3);
  opacity: 0.5;
}
.bt-bar {
  background: #ece2cb14;
  border-radius: 2px;
  height: 3px;
  margin-top: 0.5rem;
  display: flex;
  overflow: hidden;
}
.bt-bar i {
  height: 100%;
  display: block;
}
.bt-bar .n {
  background: var(--bp-nerf);
}
.bt-bar .b {
  background: var(--bp-buff);
}
.bt-bar .m {
  background: var(--bp-mixed);
}
.bt-untouched {
  color: var(--ink-3);
  margin-top: 0.4rem;
  font-size: 0.8rem;
  font-style: italic;
  display: block;
}
.bt-repeat {
  border: 1px solid var(--rule);
  border-left: 2px solid var(--bp-nerf);
  border-radius: var(--r-md);
  background: #b0654a0f;
  margin-top: 1.5rem;
  padding: 0.9rem 1rem;
}
.bt-repeat h3 {
  font-family: var(--mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-2);
  margin: 0 0 0.55rem;
  font-size: 0.7rem;
}
.bt-repeat ul {
  gap: 0.45rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.bt-repeat li {
  font-size: 0.92rem;
  line-height: 1.6;
}
.bt-repeat b {
  color: var(--gild-hi);
  font-weight: 600;
}
.bt-repeat span {
  color: var(--ink-2);
}
.bp-again {
  font-family: var(--mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--bp-nerf);
  vertical-align: 0.1em;
  white-space: nowrap;
  border: 1px solid;
  border-radius: 2px;
  margin-left: 0.4rem;
  padding: 0.05rem 0.3rem;
  font-size: 0.66rem;
}
.bt-caveat {
  color: var(--ink-3);
  max-width: 62ch;
  margin-top: 1.1rem;
  font-size: 0.86rem;
  line-height: 1.65;
}
@media (max-width: 560px) {
  .bt-head {
    grid-template-columns: 1fr;
  }
  .bt-portrait {
    width: 88px;
  }
}
.dl-list {
  gap: 0.7rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.dl-group {
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ink-3);
  margin-bottom: 0.8rem;
  font-size: 0.6rem;
}
.dl-detail {
  color: var(--ink-2);
  margin-top: 0.35rem;
  font-size: 0.9rem;
  line-height: 1.6;
}
.dl-anchor {
  color: inherit;
  text-underline-offset: 3px;
  text-decoration: underline;
}
.dl-stamp {
  font-family: var(--mono);
  color: var(--ink-3);
  margin-top: 0.45rem;
  font-size: 0.72rem;
}
.dl-closed {
  border-left-color: var(--seal);
  background: 0 0;
}
.dl-closed .codes-claim-title {
  color: var(--ink-2);
}
.dl-closed-stamp {
  font-family: var(--mono);
  color: var(--ink-3);
  font-size: 0.78rem;
  line-height: 1.5;
}
.dl-outcome {
  border-top: 1px solid var(--rule);
  color: var(--ink-1);
  margin-top: 0.6rem;
  padding-top: 0.6rem;
  font-size: 0.9rem;
  line-height: 1.7;
}
@media (max-width: 640px) {
  .dl-closed-stamp {
    font-size: 0.74rem;
  }
}
.lead {
  border-left: 2px solid var(--gild);
}
.lead-head {
  text-wrap: balance;
  margin-top: 0.7rem;
  font-size: clamp(1.3rem, 3.2vw, 1.9rem);
  line-height: 1.22;
}
.lead-detail {
  max-width: 62ch;
  color: var(--ink-2);
  margin-top: 0.85rem;
  font-size: 1.02rem;
  line-height: 1.7;
}
.lead-facts {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr));
  gap: 0.7rem;
  margin: 1.5rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.lead-fact {
  border: 1px solid var(--rule);
  border-top: 2px solid var(--lead-tone, var(--ink));
  border-radius: var(--r-sm);
  background: #1311098c;
  padding: 0.8rem 0.9rem;
}
.lead-fact-value {
  font-family: var(--display);
  color: var(--lead-tone, var(--ink));
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.35;
}
.lead-fact-label {
  font-family: var(--mono);
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: var(--ink-3);
  margin-top: 0.4rem;
  font-size: 0.63rem;
  line-height: 1.5;
}
.lead-jumps {
  flex-wrap: wrap;
  gap: 0.5rem 1.4rem;
  margin-top: 1.4rem;
  display: flex;
}
.lead-jump {
  color: var(--gild);
  text-underline-offset: 3px;
  font-size: 0.92rem;
  line-height: 1.5;
  text-decoration: underline;
  text-decoration-thickness: 1px;
}
.lead-jump:hover {
  color: var(--gild-hi);
}
@media (max-width: 560px) {
  .lead-facts {
    grid-template-columns: minmax(0, 1fr);
  }
  .lead-jumps {
    flex-direction: column;
    gap: 0.6rem;
  }
}
.shw-clock {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 1.4rem;
  margin-top: 1.2rem;
  display: grid;
}
.shw-basis {
  color: var(--ink-2);
  max-width: 48ch;
  font-size: 0.9rem;
  line-height: 1.65;
}
.shw-label {
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-size: 0.6rem;
}
.shw-note {
  max-width: 62ch;
  color: var(--ink-2);
  margin-top: 0.8rem;
  font-size: 0.97rem;
  line-height: 1.7;
}
.shw-names {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
  gap: 0.6rem;
  margin: 1.3rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.shw-name {
  border: 1px solid var(--rule);
  border-left: 2px solid var(--mist);
  border-radius: var(--r-sm);
  background: #1311098c;
  padding: 0.75rem 0.9rem;
}
.shw-name-official {
  border-left-color: var(--gild);
  background: #c8a13c0f;
}
.shw-spelling {
  font-family: var(--display);
  color: var(--ink);
  font-size: 1.05rem;
  font-weight: 600;
}
.shw-name-official .shw-spelling {
  color: var(--gild-hi);
}
.shw-src {
  color: var(--ink-3);
  margin-top: 0.35rem;
  font-size: 0.82rem;
  line-height: 1.55;
}
.shw-seen {
  display: block;
}
.shw-name .chip {
  margin-top: 0.6rem;
}
.shw-foot {
  max-width: 68ch;
  color: var(--ink-3);
  margin-top: 1.1rem;
  font-size: 0.84rem;
  line-height: 1.7;
}
@media (max-width: 640px) {
  .shw-clock {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.9rem;
  }
}
.glo-mark {
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  width: 1.6rem;
  height: 1.6rem;
  font-family: var(--mono);
  color: var(--ink-3);
  place-items: center;
  font-size: 0.58rem;
  display: grid;
}
.glo-mark[data-on="true"] {
  border-color: var(--gild);
  background: var(--gild-dim);
  color: var(--gild);
}
.rst-filters {
  flex-wrap: wrap;
  gap: 0.5rem;
  display: flex;
}
.rst-filter {
  cursor: pointer;
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  min-height: 2.75rem;
  color: var(--ink-2);
  background: #1311098c;
  align-items: center;
  gap: 0.5rem;
  padding: 0.45rem 0.7rem;
  font-size: 0.85rem;
  transition:
    border-color 0.18s,
    background 0.18s,
    color 0.18s;
  display: inline-flex;
}
.rst-filter:hover {
  background: #241f1699;
}
.rst-filter[data-on="true"] {
  border-color: var(--gild);
  background: var(--gild-dim);
  color: var(--gild);
}
.rst-filter-count {
  font-family: var(--mono);
  color: var(--ink-3);
  font-size: 0.7rem;
}
.rst-filter[data-on="true"] .rst-filter-count {
  color: var(--gild);
}
.rst-list {
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.rst-btn {
  text-align: left;
  cursor: pointer;
  border: 1px solid var(--rule);
  border-left: 2px solid var(--rst-tone);
  border-radius: var(--r-sm);
  background: #1311098c;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.8rem;
  width: 100%;
  min-height: 2.75rem;
  padding: 0.7rem 0.9rem;
  transition: background 0.18s;
  display: grid;
}
.rst-btn:hover {
  background: #241f1699;
}
.rst-item {
  font-family: var(--display);
  color: var(--ink);
  font-size: 0.98rem;
  font-weight: 600;
}
.rst-tail {
  align-items: center;
  gap: 0.7rem;
  display: flex;
}
.rst-fate {
  font-family: var(--mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-size: 0.62rem;
}
.rst-fate[data-fate="retained"] {
  color: var(--verdigris);
}
.rst-fate[data-fate="resets"] {
  color: var(--seal-hi);
}
.rst-chev {
  color: var(--ink-3);
  font-family: var(--mono);
  font-size: 0.8rem;
  transition: transform 0.2s;
}
.rst-btn[aria-expanded="true"] .rst-chev {
  transform: rotate(90deg);
}
@media (prefers-reduced-motion: reduce) {
  .rst-chev {
    transition: none;
  }
}
@media (max-width: 420px) {
  .rst-btn {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.4rem;
  }
  .rst-tail {
    justify-content: space-between;
  }
}
.rst-panel {
  border-left: 1px dashed var(--rule);
  margin-left: 0.9rem;
  padding: 0.8rem 0 0.2rem 0.9rem;
}
.rst-panel[hidden] {
  display: none;
}
.rst-panel p {
  color: var(--ink-2);
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.65;
}
.rst-empty {
  color: var(--ink-3);
  margin: 0.6rem 0 0;
  font-size: 0.9rem;
}
.kit-control {
  gap: 0.6rem;
  display: grid;
}
.kit-label {
  font-family: var(--mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gild);
  font-size: 0.6rem;
}
.kit-readout {
  align-items: baseline;
  gap: 0.5rem;
  display: flex;
}
.kit-value {
  font-family: var(--display);
  color: var(--ink);
  font-variant-numeric: tabular-nums;
  font-size: clamp(1.6rem, 5vw, 2.2rem);
  font-weight: 700;
}
.kit-unit {
  font-family: var(--mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-size: 0.68rem;
}
.kit-slider,
.nec-slider {
  appearance: none;
  cursor: pointer;
  background: 0 0;
  width: 100%;
  margin: -1rem 0;
  padding: 1rem 0;
}
.kit-slider::-webkit-slider-runnable-track {
  background: var(--rule);
  border-radius: 2px;
  height: 3px;
}
.nec-slider::-webkit-slider-runnable-track {
  background: var(--rule);
  border-radius: 2px;
  height: 3px;
}
.kit-slider::-moz-range-track {
  background: var(--rule);
  border-radius: 2px;
  height: 3px;
}
.nec-slider::-moz-range-track {
  background: var(--rule);
  border-radius: 2px;
  height: 3px;
}
.kit-slider::-webkit-slider-thumb {
  appearance: none;
  background: var(--gild);
  border: 2px solid var(--bg, #131109);
  border-radius: 50%;
  width: 22px;
  height: 22px;
  margin-top: -9.5px;
}
.nec-slider::-webkit-slider-thumb {
  appearance: none;
  background: var(--gild);
  border: 2px solid var(--bg, #131109);
  border-radius: 50%;
  width: 22px;
  height: 22px;
  margin-top: -9.5px;
}
.kit-slider::-moz-range-thumb {
  background: var(--gild);
  border: 2px solid var(--bg, #131109);
  border-radius: 50%;
  width: 22px;
  height: 22px;
}
.nec-slider::-moz-range-thumb {
  background: var(--gild);
  border: 2px solid var(--bg, #131109);
  border-radius: 50%;
  width: 22px;
  height: 22px;
}
.kit-slider:focus-visible,
.nec-slider:focus-visible {
  outline: 2px solid var(--gild);
  outline-offset: 4px;
}
.kit-verdict {
  color: var(--ink-2);
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.6;
}
.kit-verdict b {
  color: var(--gild);
}
.kit-axis {
  font-family: var(--mono);
  color: var(--ink-3);
  justify-content: space-between;
  margin-bottom: 0.5rem;
  font-size: 0.6rem;
  display: flex;
}
.kit-track {
  border-top: 1px solid var(--rule);
  height: 2.4rem;
  position: relative;
}
.kit-fill {
  background: var(--gild);
  opacity: 0.55;
  height: 3px;
  position: absolute;
  top: -1px;
  left: 0;
}
.kit-tick {
  justify-items: center;
  gap: 0.25rem;
  display: grid;
  position: absolute;
  top: -1px;
  transform: translate(-50%);
}
.kit-tick:before {
  content: "";
  background: var(--rule);
  width: 1px;
  height: 0.7rem;
}
.kit-tick[data-open="true"]:before {
  background: var(--gild);
}
.kit-tick-value {
  font-family: var(--mono);
  color: var(--ink-3);
  font-variant-numeric: tabular-nums;
  font-size: 0.58rem;
}
.kit-tick[data-open="true"] .kit-tick-value {
  color: var(--gild);
}
.kit-gates {
  gap: 0.7rem;
  margin: 1.2rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}
@media (min-width: 760px) {
  .kit-gates {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.kit-gate {
  border: 1px solid var(--rule);
  border-top: 2px solid var(--kit-tone);
  border-radius: var(--r-sm);
  opacity: 0.55;
  background: #1311098c;
  padding: 0.8rem 0.9rem;
  transition: opacity 0.18s;
}
.kit-gate[data-open="true"] {
  opacity: 1;
}
.kit-gate-head {
  justify-content: space-between;
  align-items: baseline;
  gap: 0.6rem;
  display: flex;
}
.kit-gate-name {
  font-family: var(--display);
  color: var(--ink);
  font-size: 0.95rem;
  font-weight: 600;
}
.kit-gate-value {
  font-family: var(--mono);
  color: var(--gild);
  font-variant-numeric: tabular-nums;
  font-size: 0.72rem;
}
.kit-gate-rule {
  color: var(--ink-2);
  margin: 0.5rem 0 0;
  font-size: 0.85rem;
  line-height: 1.55;
}
.kit-gate-kit {
  border-top: 1px dashed var(--rule);
  color: var(--ink-2);
  margin: 0.6rem 0 0;
  padding-top: 0.6rem;
  font-size: 0.82rem;
  line-height: 1.55;
}
.kit-gate-kit-tag {
  font-family: var(--mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--verdigris);
  margin-bottom: 0.2rem;
  font-size: 0.56rem;
  display: block;
}
.kit-rarity {
  color: var(--ink-3);
  margin: 1rem 0 0;
  font-size: 0.85rem;
  line-height: 1.6;
}
.kit-rarity b {
  color: var(--ink-2);
}
.nec-control {
  gap: 0.6rem;
  display: grid;
}
.nec-label {
  font-family: var(--mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gild);
  font-size: 0.6rem;
}
.nec-readout {
  flex-wrap: wrap;
  align-items: center;
  gap: 0.7rem 1rem;
  display: flex;
}
.nec-value {
  font-family: var(--display);
  color: var(--ink);
  font-variant-numeric: tabular-nums;
  font-size: clamp(1.6rem, 5vw, 2.2rem);
  font-weight: 700;
}
.nec-presets {
  flex-wrap: wrap;
  gap: 0.4rem;
  display: flex;
}
.nec-preset {
  cursor: pointer;
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  min-height: 2.75rem;
  color: var(--ink-2);
  background: #1311098c;
  padding: 0.4rem 0.6rem;
  font-size: 0.78rem;
  transition:
    border-color 0.18s,
    color 0.18s,
    background 0.18s;
}
.nec-preset[data-on="true"] {
  border-color: var(--gild);
  background: var(--gild-dim);
  color: var(--gild);
}
.nec-out {
  gap: 0.7rem;
  display: grid;
}
@media (min-width: 560px) {
  .nec-out {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.nec-stat {
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  background: #1311098c;
  gap: 0.2rem;
  padding: 0.9rem;
  display: grid;
}
.nec-stat-value {
  font-family: var(--display);
  color: var(--ink);
  font-variant-numeric: tabular-nums;
  font-size: clamp(1.4rem, 4.5vw, 1.9rem);
  font-weight: 700;
}
.nec-stat-label {
  color: var(--ink-2);
  font-size: 0.86rem;
}
.nec-stat-grade {
  font-family: var(--mono);
  letter-spacing: 0.06em;
  margin-top: 0.35rem;
  font-size: 0.58rem;
}
.nec-stat-grade[data-grade="client"] {
  color: var(--gild);
}
.nec-stat-grade[data-grade="creator"] {
  color: var(--mist);
}
.nec-progress {
  margin-top: 1.2rem;
}
.nec-progress-head {
  color: var(--ink-2);
  justify-content: space-between;
  gap: 0.8rem;
  font-size: 0.84rem;
  display: flex;
}
.nec-progress-pct {
  font-family: var(--mono);
  color: var(--gild);
  font-variant-numeric: tabular-nums;
}
.nec-bar {
  background: #ece2cb21;
  border-radius: 3px;
  height: 6px;
  margin-top: 0.5rem;
  overflow: hidden;
}
.nec-bar-fill {
  background: var(--gild);
  height: 100%;
  transition: width 0.2s;
}
@media (prefers-reduced-motion: reduce) {
  .nec-bar-fill {
    transition: none;
  }
}
.nec-verdict {
  color: var(--ink-2);
  margin: 0.7rem 0 0;
  font-size: 0.9rem;
  line-height: 1.6;
}
.nec-chain {
  gap: 0.6rem;
  margin: 1.4rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.nec-step {
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  background: #1311098c;
  grid-template-columns: 2rem minmax(0, 1fr);
  align-items: start;
  gap: 0.8rem;
  padding: 0.75rem 0.9rem;
  display: grid;
}
.nec-step-index {
  font-family: var(--mono);
  color: var(--gild);
  font-size: 0.8rem;
}
.nec-step-name {
  font-family: var(--display);
  color: var(--ink);
  margin: 0;
  font-size: 0.95rem;
  font-weight: 600;
}
.nec-step-where {
  color: var(--ink-2);
  margin: 0.25rem 0 0;
  font-size: 0.85rem;
  line-height: 1.55;
}
.nec-step-out {
  font-family: var(--mono);
  letter-spacing: 0.04em;
  color: var(--verdigris);
  margin: 0.35rem 0 0;
  font-size: 0.68rem;
}
.pslots-wrap {
  margin-top: 1.5rem;
}
.pslots {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15.5rem), 1fr));
  gap: 0.55rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.pslot {
  border: 1px dashed var(--rule-strong);
  border-radius: var(--r-sm);
  background: #13110980;
  padding: 0.7rem 0.85rem;
}
.pslot-q {
  font-family: var(--display);
  color: var(--ink-2);
  margin: 0;
  font-size: 0.96rem;
  font-weight: 700;
}
.pslot-a {
  font-family: var(--mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--mist);
  margin: 0.4rem 0 0;
  font-size: 0.63rem;
}
.pslot-filled {
  border-style: solid;
  border-color: var(--rule);
}
.pslot-filled .pslot-a {
  color: var(--verdigris);
}
.pslot-answer {
  color: var(--ink-2);
  margin: 0.55rem 0 0;
  font-size: 0.88rem;
  line-height: 1.65;
}
.pslot-from {
  font-family: var(--mono);
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: var(--ink-3);
  margin: 0.5rem 0 0;
  font-size: 0.58rem;
}
.pslots:has(.pslot-filled) {
  grid-template-columns: 1fr;
}
.su-quote {
  border-radius: var(--r-sm);
  border-left: 2px solid var(--gild);
  background: #c8a13c0f;
  margin: 0;
  padding: 0.9rem 1.1rem;
}
.su-quote p {
  font-family: var(--display);
  margin: 0;
  font-size: 1.08rem;
  line-height: 1.55;
}
.su-quote cite {
  font-style: normal;
  font-family: var(--mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-3);
  margin-top: 0.6rem;
  font-size: 0.62rem;
  display: block;
}
.stl {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.stl-rung {
  border-top: 1px solid var(--rule);
  grid-template-columns: 8.5rem minmax(0, 1fr);
  align-items: start;
  gap: 1.1rem;
  padding: 0.9rem 0;
  display: grid;
}
.stl-rung:first-child {
  border-top: 0;
  padding-top: 0;
}
.stl-when {
  font-family: var(--mono);
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--ink-3);
  margin: 0;
  padding-top: 0.2rem;
  font-size: 0.64rem;
}
.stl-when b {
  color: var(--ink-2);
  margin-bottom: 0.25rem;
  font-size: 0.72rem;
  display: block;
}
.stl-chip {
  vertical-align: middle;
  font-family: var(--mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  white-space: nowrap;
  border-radius: var(--r-sm);
  border: 1px solid;
  margin-left: 0.55rem;
  padding: 0.18rem 0.45rem;
  font-size: 0.56rem;
  font-weight: 600;
  display: inline-block;
}
.stl-chip[data-tone="live"] {
  color: var(--verdigris);
  background: #5b8f7417;
}
.stl-chip[data-tone="dated"] {
  color: var(--gild);
  background: #c8a13c14;
}
.stl-chip[data-tone="undated"] {
  color: var(--mist);
  background: #8496a117;
}
@media (max-width: 640px) {
  .stl-rung {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.5rem;
  }
}
.su-grid {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0.5rem;
  max-width: 30rem;
  display: grid;
}
.su-cell {
  aspect-ratio: 1;
  cursor: pointer;
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  color: var(--ink-3);
  font-family: var(--mono);
  background: #241f166b;
  place-items: center;
  padding: 0;
  font-size: 0.7rem;
  transition:
    border-color 0.18s,
    background 0.18s,
    color 0.18s;
  display: grid;
}
.su-cell:hover {
  border-color: var(--rule-strong);
  color: var(--ink-2);
}
.su-cell[aria-pressed="true"] {
  border-color: var(--verdigris);
  color: var(--ink);
  background: #5b8f7429;
}
@media (prefers-reduced-motion: reduce) {
  .su-cell {
    transition: none;
  }
}
.su-read {
  font-family: var(--mono);
  color: var(--ink-2);
  margin: 1rem 0 0;
  font-size: 0.78rem;
}
.su-read b {
  color: var(--gild-hi);
}
.su-read[data-done="true"] b {
  color: var(--verdigris);
}
.su-quotes {
  gap: 0.7rem;
  margin-top: 1.5rem;
  display: grid;
}
.su-collide {
  margin-top: 1.4rem;
}
.sqm-tabs {
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  display: inline-flex;
  overflow: hidden;
}
.sqm-tabs button {
  appearance: none;
  cursor: pointer;
  color: var(--ink-3);
  font-family: var(--mono);
  letter-spacing: 0.13em;
  text-transform: uppercase;
  background: 0 0;
  border: 0;
  padding: 0.5rem 0.95rem;
  font-size: 0.66rem;
  transition:
    background 0.18s,
    color 0.18s;
}
.sqm-tabs button:hover {
  color: var(--ink-2);
}
.sqm-tabs button[aria-selected="true"] {
  background: var(--gild-dim);
  color: var(--gild-hi);
}
@media (prefers-reduced-motion: reduce) {
  .sqm-tabs button {
    transition: none;
  }
}
.sqm-head {
  font-family: var(--mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-3);
  grid-template-columns: minmax(0, 1fr) 5rem 5rem;
  gap: 0.7rem;
  padding: 0 0.85rem 0.5rem;
  font-size: 0.58rem;
  display: grid;
}
.sqm-head span:not(:first-child) {
  text-align: center;
}
.sqm-rows {
  gap: 0.55rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.sqm-row {
  border: 1px solid var(--rule);
  border-left: 2px solid var(--dgm-tone, var(--rule-strong));
  border-radius: var(--r-sm);
  background: #241f166b;
  grid-template-columns: minmax(0, 1fr) 5rem 5rem;
  align-items: center;
  gap: 0.3rem 0.7rem;
  padding: 0.7rem 0.85rem;
  display: grid;
}
.sqm-name {
  grid-column: 1;
}
.sqm-map {
  font-family: var(--display);
  margin: 0;
  font-size: 0.98rem;
  font-weight: 700;
}
.sqm-diff {
  font-family: var(--mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-3);
  margin: 0.15rem 0 0;
  font-size: 0.62rem;
}
.sqm-cell {
  text-align: center;
  font-family: var(--mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-size: 0.66rem;
}
.sqm-cell[data-state="open"] {
  color: var(--verdigris);
}
.sqm-cell[data-state="open-reported"] {
  color: var(--mist);
}
.sqm-cell[data-state="arriving"] {
  color: var(--gild-hi);
}
.sqm-note {
  color: var(--ink-3);
  grid-column: 1/-1;
  margin: 0.35rem 0 0;
  font-size: 0.82rem;
  line-height: 1.55;
}
.sqm-quote {
  margin-top: 1.4rem;
}
.sqm-warn {
  margin-top: 1.1rem;
}
@media (max-width: 560px) {
  .sqm-head {
    display: none;
  }
  .sqm-row {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .sqm-name {
    grid-row: span 2;
  }
  .sqm-cell {
    text-align: right;
  }
  .sqm-cell:before {
    content: attr(data-label) " ";
    color: var(--ink-3);
  }
}
.ub-quote {
  border-left-width: 3px;
}
.ub-quote p {
  font-size: 1.14rem;
}
.ub-warn {
  margin-top: 1.5rem;
}
.rl-emblem {
  justify-items: start;
  gap: 0.6rem;
  margin: 1.1rem 0 0;
  display: grid;
}
.rl-emblem img {
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  background: #1311098c;
  width: clamp(88px, 22vw, 132px);
  height: auto;
  display: block;
}
.rl-emblem figcaption {
  font-family: var(--mono);
  color: var(--ink-3);
  max-width: 46ch;
  font-size: 0.62rem;
  line-height: 1.7;
}
.wordgrid {
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 9.5rem), 1fr));
  gap: 0.55rem;
  margin: 1.2rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.word {
  color: var(--ink);
  border: 1px solid var(--rule);
  border-left: 2px solid var(--verdigris);
  border-radius: var(--r-sm);
  background: #1311098c;
  padding: 0.72rem 0.85rem;
  font-size: 1.02rem;
  line-height: 1.25;
  display: block;
}
.word.thin {
  border-left-color: var(--mist);
}
.word .src {
  font-family: var(--mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-3);
  margin-top: 0.28rem;
  font-size: 0.58rem;
  display: block;
}
.npc-head {
  align-items: start;
  gap: 1.4rem;
  display: grid;
}
@media (min-width: 44rem) {
  .npc-head {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  }
}
.roster {
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr));
  gap: 0.9rem;
  margin: 1.5rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.roster a {
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  height: 100%;
  color: var(--ink);
  text-decoration: none;
  transition: border-color 0.22s;
  display: block;
  overflow: hidden;
}
.roster a:hover {
  border-color: var(--rule-strong);
}
.roster img {
  aspect-ratio: 16/9;
  object-fit: cover;
  width: 100%;
  height: auto;
  display: block;
}
.roster .meta {
  padding: 0.8rem 0.9rem;
  display: block;
}
.home-answer {
  border-left: 2px solid var(--gild);
  max-width: 46rem;
  margin-top: 1.7rem;
  padding-left: 0.95rem;
  font-size: 1.06rem;
  line-height: 1.62;
}
.home-answer-eyebrow {
  font-family: var(--mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gild);
  margin-bottom: 0.4rem;
  font-size: 0.6rem;
  display: block;
}
.home-facts {
  max-width: 46rem;
}
.home-facts .lead-fact {
  padding: 0;
}
.home-facts .lead-fact a {
  min-height: 2.75rem;
  color: inherit;
  padding: 0.8rem 0.9rem;
  text-decoration: none;
  display: block;
}
.home-facts .lead-fact a:hover .lead-fact-value {
  color: var(--gild-hi);
}
.home-facts .lead-fact-value {
  color: var(--gild);
  display: block;
}
.home-facts .lead-fact-label {
  display: block;
}
.cipher-lead {
  border-left: 2px solid var(--gild);
  max-width: 62ch;
  margin-top: 1.3rem;
  padding-left: 0.95rem;
  font-size: 1.02rem;
  line-height: 1.62;
}
.cipher-lead-eyebrow {
  font-family: var(--mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gild);
  margin-bottom: 0.4rem;
  font-size: 0.6rem;
  display: block;
}
.cipher-lead strong {
  color: var(--gild-hi);
  font-weight: 600;
}
.cipher-lead-onward {
  max-width: 62ch;
  color: var(--ink-2);
  margin-top: 1.3rem;
  font-size: 0.96rem;
  line-height: 1.7;
}
.cipher-lead-onward a {
  color: var(--gild);
  text-underline-offset: 3px;
  text-decoration: underline;
}
.map-answer {
  border-left: 2px solid var(--gild);
  max-width: 64ch;
  margin-top: 1.3rem;
  padding-left: 0.95rem;
}
.map-answer-line {
  margin-top: 0.5rem;
  font-size: 1.04rem;
  line-height: 1.62;
}
.map-answer-facts {
  border-top: 1px solid var(--rule);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
  gap: 1.1rem;
  margin: 1.1rem 0 0;
  padding-top: 1.1rem;
  display: grid;
}
.map-answer-facts dt {
  font-family: var(--mono);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-size: 0.6rem;
}
.map-answer-facts dd {
  color: var(--ink);
  margin: 0.45rem 0 0;
  font-size: 1rem;
  line-height: 1.5;
}
.map-answer-jump {
  margin-top: 0.7rem;
}
.map-answer-jump a {
  min-height: 3rem;
  font-family: var(--mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--gild);
  text-underline-offset: 4px;
  align-items: center;
  font-size: 0.7rem;
  text-decoration: underline;
  display: inline-flex;
}
.map-answer-jump a:hover {
  color: var(--gild-hi);
}
.cipher-verdict {
  border-left: 2px solid var(--gild);
  max-width: 62ch;
  margin-top: 1.3rem;
  padding-left: 0.95rem;
}
.cipher-verdict-line {
  margin-top: 0.5rem;
  font-size: 1.06rem;
  line-height: 1.6;
}
.cipher-verdict-facts {
  border-top: 1px solid var(--rule);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
  gap: 1.1rem;
  margin: 1.2rem 0 0;
  padding-top: 1rem;
  display: grid;
}
.cipher-verdict-facts dt {
  font-family: var(--mono);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-size: 0.6rem;
}
.cipher-verdict-facts dd {
  color: var(--ink-2);
  margin: 0.4rem 0 0;
  font-size: 0.94rem;
}
.cipher-verdict-facts dd.is-deadline {
  color: var(--gild);
}
.cipher-jumps {
  flex-wrap: wrap;
  gap: 0.4rem 1.4rem;
  margin-top: 1.6rem;
  display: flex;
}
.cipher-jumps a {
  min-height: 2.75rem;
  font-family: var(--mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--gild);
  align-items: center;
  font-size: 0.68rem;
  display: inline-flex;
}
@media (max-width: 520px) {
  .cipher-jumps {
    flex-direction: column;
    gap: 0;
  }
}
.cd-box {
  padding: clamp(1.1rem, 3vw, 1.7rem);
}
.cd-label {
  font-family: var(--mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gild);
  font-size: 0.62rem;
  display: block;
}
.cd-hint {
  color: var(--ink-3);
  margin: 0.5rem 0 0;
  font-size: 0.9rem;
  line-height: 1.6;
}
.cd-row {
  flex-direction: column;
  gap: 0.6rem;
  margin-top: 0.9rem;
  display: flex;
}
@media (min-width: 34rem) {
  .cd-row {
    flex-direction: row;
    align-items: stretch;
  }
  .cd-input {
    flex: 1;
  }
}
.cd-input {
  width: 100%;
  min-height: 2.9rem;
  font-size: 1rem;
  font-family: var(--body);
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  color: var(--ink);
  background: #13110999;
  padding: 0.7rem 0.9rem;
}
.cd-input:focus {
  border-color: var(--gild);
  outline: none;
}
.cd-input::placeholder {
  color: var(--ink-3);
}
.cd-go {
  cursor: pointer;
  white-space: nowrap;
  min-height: 2.9rem;
  font-family: var(--mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--vellum);
  background: var(--gild);
  border: 1px solid var(--gild);
  border-radius: var(--r-sm);
  padding: 0 1.3rem;
  font-size: 0.66rem;
}
.cd-go:hover {
  background: var(--gild-hi);
  border-color: var(--gild-hi);
}
.cd-egs {
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  margin-top: 0.9rem;
  display: flex;
}
.cd-eg-lead {
  font-family: var(--mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-size: 0.6rem;
}
.cd-eg {
  cursor: pointer;
  min-height: 2.75rem;
  font-family: var(--mono);
  letter-spacing: 0.06em;
  color: var(--ink-2);
  border: 1px dashed var(--rule-strong);
  border-radius: var(--r-sm);
  background: 0 0;
  padding: 0.3rem 0.75rem;
  font-size: 0.63rem;
}
.cd-eg:hover {
  color: var(--gild);
  border-color: var(--gild);
  border-style: solid;
}
.cd-out {
  min-height: 6rem;
  margin-top: 1.2rem;
}
.cd-out-lead {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.5;
}
.cd-note {
  color: var(--ink-3);
  max-width: 60ch;
  margin: 0.6rem 0 0;
  font-size: 0.9rem;
  line-height: 1.7;
}
.cd-logic {
  color: var(--ink-2);
}
.cd-eyebrow {
  font-family: var(--mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin: 0;
  font-size: 0.62rem;
}
.cd-eyebrow-match {
  color: var(--verdigris);
}
.cd-eyebrow-split {
  color: var(--mist);
}
.cd-lead {
  border-left: 2px solid var(--seal-hi);
  padding: 1rem;
}
.cd-result {
  gap: 1rem;
  display: grid;
}
@media (min-width: 46rem) {
  .cd-result {
    grid-template-columns: minmax(0, 1fr) 20rem;
    align-items: start;
  }
}
.cd-verdict {
  font-family: var(--display);
  color: var(--gild);
  margin: 0.5rem 0 0;
  font-size: clamp(1.45rem, 4.5vw, 1.9rem);
  font-weight: 600;
  line-height: 1.2;
}
.cd-role {
  font-family: var(--mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-3);
  margin: 0.35rem 0 0;
  font-size: 0.62rem;
}
.cd-because {
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 0.9rem 0 0;
  padding: 0;
  list-style: none;
  display: flex;
}
.cd-w {
  font-family: var(--mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border: 1px solid var(--verdigris);
  color: var(--verdigris);
  border-radius: var(--r-sm);
  background: #5b8f7417;
  align-items: baseline;
  gap: 0.4rem;
  padding: 0.3rem 0.6rem;
  font-size: 0.63rem;
  display: inline-flex;
}
.cd-w-readas {
  border-style: dashed;
  border-color: var(--mist);
  color: var(--mist);
  background: #8496a117;
}
.cd-w-unknown {
  border-color: var(--ink-3);
  color: var(--ink-3);
  background: 0 0;
}
.cd-w-from {
  text-transform: none;
  letter-spacing: 0;
  opacity: 0.85;
  font-size: 0.62rem;
}
.cd-onward {
  font-family: var(--mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--verdigris);
  text-underline-offset: 3px;
  margin-top: 1rem;
  font-size: 0.63rem;
  text-decoration: underline;
  display: inline-block;
}
.cd-shot {
  margin: 0;
}
.cd-shot img {
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  width: 100%;
  height: auto;
  display: block;
}
.cd-shot figcaption {
  color: var(--ink-3);
  margin-top: 0.55rem;
  font-size: 0.8rem;
  line-height: 1.6;
}
.cd-shot figcaption a {
  color: var(--ink-2);
  text-underline-offset: 3px;
  text-decoration: underline;
}
.cd-split {
  gap: 0.7rem;
  margin-top: 1rem;
  display: grid;
}
@media (min-width: 40rem) {
  .cd-split {
    grid-template-columns: 1fr 1fr;
  }
}
.cd-cand {
  align-content: start;
  gap: 0.35rem;
  padding: 0.95rem 1rem;
  display: grid;
}
.cd-cand h4 {
  font-family: var(--display);
  color: var(--gild);
  margin: 0;
  font-size: 1.1rem;
  font-weight: 600;
}
.cd-cand .cd-because {
  margin-top: 0.5rem;
}
.cd-cand .cd-onward {
  margin-top: 0.6rem;
}
.cd-details {
  margin-top: 1.2rem;
}
.cd-details summary {
  cursor: pointer;
  min-height: 2.75rem;
  font-family: var(--mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-3);
  align-items: center;
  font-size: 0.64rem;
  display: flex;
}
.cd-details summary:hover {
  color: var(--gild);
}
.cd-vocab-open {
  margin-top: 1.6rem;
}
.cd-vocab-lead {
  color: var(--ink-3);
  max-width: 66ch;
  margin: 0 0 1rem;
  font-size: 0.92rem;
  line-height: 1.7;
}
.cd-vocab {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
  gap: 0.7rem;
  margin-top: 1rem;
  display: grid;
}
.cd-vcard {
  align-content: start;
  gap: 0.3rem;
  padding: 1rem;
  display: grid;
}
.cd-vshot {
  border-bottom: 1px solid var(--rule);
  aspect-ratio: 16/8;
  margin: -1rem -1rem 0.7rem;
  display: block;
  overflow: hidden;
}
.cd-vshot img {
  object-fit: cover;
  object-position: center 30%;
  width: 100%;
  height: 100%;
}
.cd-vname {
  color: var(--gild);
  font-size: 1.02rem;
  text-decoration: none;
}
.cd-vname:hover {
  text-underline-offset: 3px;
  text-decoration: underline;
}
.cd-vaka {
  color: var(--ink-3);
}
.cd-vwords {
  flex-wrap: wrap;
  gap: 0.35rem;
  margin: 0.6rem 0 0;
  padding: 0;
  list-style: none;
  display: flex;
}
.cd-vword {
  cursor: pointer;
  min-height: 2.4rem;
  font-family: var(--body);
  color: var(--ink-2);
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  background: #13110980;
  padding: 0.3rem 0.6rem;
  font-size: 0.9rem;
}
.cd-vword:hover {
  color: var(--gild);
  border-color: var(--gild);
}
.cd-vword-thin {
  color: var(--ink-3);
  border-style: dashed;
}
.cb-az {
  border-collapse: collapse;
  width: 100%;
  margin-top: 1.2rem;
  font-size: 0.94rem;
}
.cb-az thead th {
  text-align: left;
  border-bottom: 1px solid var(--rule-strong);
  font-family: var(--mono);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink-2);
  white-space: nowrap;
  padding: 0.55rem 0.8rem;
  font-size: 0.6rem;
}
.cb-az tbody th {
  text-align: left;
  color: var(--ink);
  white-space: nowrap;
  font-weight: 400;
}
.cb-az tbody th,
.cb-az td {
  border-bottom: 1px solid var(--rule);
  vertical-align: top;
  padding: 0.55rem 0.8rem;
}
.cb-az tr:hover td {
  background: #c8a13c0a;
}
.cb-az .cb-src {
  font-family: var(--mono);
  color: var(--ink-3);
  white-space: nowrap;
  font-size: 0.68rem;
}
.cb-az .cb-src-thin {
  color: var(--mist);
}
.cb-azwrap {
  margin-top: 0.4rem;
  overflow-x: auto;
}
.cd-howto {
  align-items: start;
  gap: 1.6rem;
  margin-top: 1.6rem;
  display: grid;
}
@media (min-width: 52rem) {
  .cd-howto {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}
.cd-steps {
  gap: 0.8rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.cd-steps li {
  color: var(--ink-2);
  grid-template-columns: 1.9rem 1fr;
  align-items: baseline;
  gap: 0.8rem;
  font-size: 1rem;
  line-height: 1.7;
  display: grid;
}
.cd-step-n {
  width: 1.9rem;
  height: 1.9rem;
  color: var(--gild);
  border: 1px solid var(--gild-dim);
  border-radius: var(--r-sm);
  background: #c8a13c0f;
  justify-content: center;
  align-items: center;
  font-size: 0.66rem;
  display: inline-flex;
}
.cd-unknowns {
  gap: 0.6rem;
  max-width: 72ch;
  margin: 1.4rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.cd-unknowns li {
  color: var(--ink-2);
  background: var(--panel-2);
  border: 1px solid var(--rule);
  border-left: 2px solid var(--mist);
  border-radius: var(--r-sm);
  padding: 0.85rem 1rem;
  font-size: 0.96rem;
  line-height: 1.7;
}
.cd-sources {
  gap: 0.6rem;
  margin: 1.4rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.cd-sources li {
  justify-items: start;
  gap: 0.5rem;
  padding: 1rem;
  display: grid;
}
.cd-sources a {
  text-underline-offset: 3px;
  font-size: 1rem;
  line-height: 1.5;
  text-decoration: underline;
}
.cd-sources p {
  color: var(--ink-3);
  max-width: 74ch;
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.7;
}
.cd-sourcedate {
  letter-spacing: 0.12em;
  color: var(--ink-3);
  font-size: 0.62rem;
}
.sr-only {
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
}
.cfl {
  counter-reset: none;
  margin: 0;
  padding: 0;
  list-style: none;
}
.cfl .sc-name {
  align-items: baseline;
  gap: 0.6rem;
  display: flex;
}
.cfl-step {
  font-family: var(--mono);
  letter-spacing: 0.1em;
  color: var(--gild);
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  flex: none;
  padding: 0.1rem 0.4rem;
  font-size: 0.68rem;
  line-height: 1.4;
}
.sc-row[data-done="true"] .cfl-step {
  color: var(--verdigris);
  border-color: #5b8f7473;
}
.ss-controls {
  flex-wrap: wrap;
  gap: 0.6rem;
  display: flex;
}
.ss-scroll {
  overflow-x: auto;
}
.ss {
  border-collapse: collapse;
  width: 100%;
  font-size: 0.92rem;
}
.ss th,
.ss td {
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid var(--rule);
  padding: 0.7rem 0.8rem;
}
.ss thead th {
  font-family: var(--mono);
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--ink-3);
  white-space: nowrap;
  font-size: 0.6rem;
}
.ss tbody th {
  font-family: var(--display);
  color: var(--ink);
  font-weight: 600;
}
.ss tbody td {
  color: var(--ink-2);
  line-height: 1.55;
}
.ss tr[data-contested="true"] th,
.ss tr[data-contested="true"] td {
  background: #c8a13c0d;
}
.ss tr[data-contested="true"] th {
  border-left: 2px solid var(--gild);
}
.ss-flag {
  font-family: var(--mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gild);
  border: 1px solid var(--gild-dim);
  border-radius: var(--r-sm);
  margin-left: 0.5rem;
  padding: 0.05rem 0.35rem;
  font-size: 0.55rem;
  display: inline-block;
}
@media (max-width: 720px) {
  .ss,
  .ss tbody,
  .ss tr,
  .ss td,
  .ss th {
    display: block;
  }
  .ss thead {
    clip: rect(0, 0, 0, 0);
    width: 1px;
    height: 1px;
    position: absolute;
    overflow: hidden;
  }
  .ss tr {
    border: 1px solid var(--rule);
    border-radius: var(--r-sm);
    background: #1311098c;
    margin-bottom: 0.55rem;
    padding: 0.85rem 1rem;
  }
  .ss tr[data-contested="true"] {
    border-color: var(--gild-dim);
  }
  .ss th,
  .ss td {
    border-bottom: 0;
    padding: 0;
  }
  .ss tbody th {
    margin-bottom: 0.5rem;
    font-size: 1rem;
  }
  .ss tr[data-contested="true"] th {
    border-left: 0;
  }
  .ss tbody td {
    grid-template-columns: 8.5rem minmax(0, 1fr);
    gap: 0.75rem;
    padding: 0.3rem 0;
    display: grid;
  }
  .ss tbody td:before {
    content: attr(data-label);
    font-family: var(--mono);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--ink-3);
    font-size: 0.58rem;
    line-height: 1.7;
  }
}
.tcs-matrix {
  min-width: 46rem;
  font-size: 0.94rem;
}
.tcs-matrix th,
.tcs-matrix td {
  padding-left: 0.6rem;
  padding-right: 0.6rem;
}
.tcs-matrix td {
  vertical-align: middle;
  padding-top: 0.6rem;
  padding-bottom: 0.6rem;
}
.tcs-matrix thead th {
  letter-spacing: 0.08em;
  font-size: 0.66rem;
}
.tcs-caption {
  caption-side: bottom;
  text-align: left;
  color: var(--ink-3);
  padding: 0.8rem 0.6rem 0;
  font-size: 0.66rem;
  line-height: 1.7;
}
.tcs-row {
  transition: background 0.18s;
}
.tcs-rowbtn {
  font: inherit;
  color: inherit;
  cursor: pointer;
  text-align: left;
  background: 0 0;
  border: 0;
  padding: 0;
}
.tcs-rowbtn:hover {
  color: var(--gild-hi);
}
.tcs-cell {
  border-radius: var(--r-sm);
  min-width: 2.5rem;
  font-family: var(--display);
  background: #c8a13c0d;
  border: 1px solid;
  justify-content: center;
  align-items: center;
  padding: 0.16rem 0.4rem;
  font-size: 0.95rem;
  font-weight: 600;
  transition: opacity 0.18s;
  display: inline-flex;
}
.tcs-band {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 3px;
  max-width: 26rem;
  display: grid;
}
.tcs-band-step {
  border: 1px solid var(--rule);
  background: var(--panel-2);
  border-radius: 2px;
  justify-content: center;
  align-items: center;
  height: 1.9rem;
  display: flex;
  position: relative;
}
.tcs-band-step[data-on="true"] {
  border-color: #0000;
}
.tcs-band-letter {
  letter-spacing: 0.1em;
  color: var(--ink-3);
  font-size: 0.66rem;
}
.tcs-band-step[data-on="true"] .tcs-band-letter {
  color: #1a1202;
  font-weight: 700;
}
.tcs-foot {
  border-top: 1px solid var(--rule);
  color: var(--ink-2);
  max-width: 74ch;
  margin-top: 1.5rem;
  padding-top: 1.1rem;
  font-size: 0.72rem;
  line-height: 1.8;
}
.tcs-onward {
  font-family: var(--mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--verdigris);
  text-underline-offset: 3px;
  margin-top: 0.8rem;
  font-size: 0.63rem;
  text-decoration: underline;
  display: inline-block;
}
@media (max-width: 780px) {
  .cp-symptoms {
    grid-template-columns: minmax(0, 1fr);
    display: grid;
  }
  .cp-symptoms > .btn {
    text-align: left;
    width: 100%;
  }
}
.cp-verdict {
  font-family: var(--display);
  color: var(--gild-hi);
  max-width: 60ch;
  margin: 0;
  font-size: clamp(1.05rem, 2.2vw, 1.3rem);
  line-height: 1.55;
}
.cp-trade {
  border: 1px solid var(--rule);
  border-left: 2px solid var(--mist);
  border-radius: var(--r-sm);
  background: var(--panel-2);
  color: var(--ink-2);
  max-width: 70ch;
  margin: 1.2rem 0 0;
  padding: 0.9rem 1.1rem;
  font-size: 0.92rem;
  line-height: 1.7;
}
.cp-free {
  border-top: 1px solid var(--rule);
  margin-top: 1.8rem;
  padding-top: 1.4rem;
}
.cp-free-list {
  gap: 0.55rem;
  max-width: 72ch;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.cp-free-list li {
  border: 1px solid var(--rule);
  border-left: 2px solid var(--verdigris);
  border-radius: var(--r-sm);
  background: var(--panel-2);
  color: var(--ink-2);
  padding: 0.7rem 0.95rem;
  font-size: 0.9rem;
  line-height: 1.7;
}
.cp-free-list b {
  color: var(--ink);
  font-weight: 600;
}
.tf-wrap {
  margin-bottom: 2rem;
  padding: clamp(1.1rem, 3vw, 1.9rem);
}
.tf-heading {
  margin: 0;
  font-size: clamp(1.25rem, 2.4vw, 1.7rem);
}
.tf-lede {
  max-width: 66ch;
  color: var(--ink-2);
  margin: 0.7rem 0 0;
  font-size: 0.96rem;
  line-height: 1.7;
}
.tf-controls {
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.8rem;
  margin-top: 1.3rem;
  display: grid;
}
@media (max-width: 640px) {
  .tf-controls {
    grid-template-columns: minmax(0, 1fr);
  }
}
.tf-field {
  gap: 0.35rem;
  display: grid;
}
.tf-label {
  font-family: var(--mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-size: 0.62rem;
}
.tf-input {
  background: var(--panel-2);
  border: 1px solid var(--rule-strong);
  border-radius: var(--r-sm);
  width: 100%;
  color: var(--ink);
  padding: 0.6rem 0.75rem;
  font-family: inherit;
  font-size: 0.95rem;
}
.tf-input:focus {
  border-color: var(--gild);
}
.tf-toggle {
  margin-top: 0.9rem;
}
.tf-count {
  font-family: var(--mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-3);
  margin: 1.1rem 0 0;
  font-size: 0.66rem;
}
.tf-empty {
  border: 1px solid var(--rule);
  border-left: 2px solid var(--mist);
  border-radius: var(--r-sm);
  background: var(--panel-2);
  color: var(--ink-2);
  max-width: 70ch;
  margin: 1rem 0 0;
  padding: 0.9rem 1.1rem;
  font-size: 0.92rem;
  line-height: 1.7;
}
.tf-list {
  gap: 0.5rem;
  margin: 0.7rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.tf-row {
  border: 1px solid var(--rule);
  border-left: 2px solid var(--rule-strong);
  border-radius: var(--r-sm);
  background: var(--panel-2);
  gap: 0.45rem;
  padding: 0.8rem 0.95rem;
  text-decoration: none;
  transition:
    border-color 0.18s,
    background 0.18s;
  display: grid;
}
.tf-row:hover {
  border-left-color: var(--gild);
  background: #c8a13c0d;
}
.tf-name {
  font-family: var(--display);
  color: var(--ink);
  font-size: 1.02rem;
  font-weight: 600;
}
.tf-meta {
  flex-wrap: wrap;
  gap: 0.35rem;
  display: flex;
}
.tf-objective {
  color: var(--ink-2);
  font-size: 0.88rem;
  line-height: 1.65;
}
.cr-wrap {
  justify-items: start;
  gap: 0.5rem;
  margin-top: 0.8rem;
  display: grid;
}
.cr-note {
  color: var(--ink-3);
  max-width: 34ch;
  margin: 0;
  font-size: 0.76rem;
  line-height: 1.6;
}
.pt-sides {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  display: grid;
}
@media (max-width: 640px) {
  .pt-sides {
    grid-template-columns: minmax(0, 1fr);
  }
}
.pt-side {
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  background: var(--panel-2);
  gap: 0.7rem;
  padding: 0.9rem 1rem;
  display: grid;
}
.pt-side-label {
  font-family: var(--display);
  color: var(--ink);
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
}
.pt-gates {
  gap: 0.5rem;
  margin: 1.3rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.pt-gates li {
  border: 1px solid var(--rule);
  border-left: 2px solid var(--seal);
  border-radius: var(--r-sm);
  background: var(--panel-2);
  gap: 0.35rem;
  padding: 0.8rem 0.95rem;
  display: grid;
}
.pt-gates li[data-pass="true"] {
  border-left-color: var(--verdigris);
}
.pt-gate-name {
  font-family: var(--display);
  color: var(--ink);
  align-items: center;
  gap: 0.5rem;
  font-size: 1rem;
  font-weight: 600;
  display: flex;
}
.pt-gate-mark {
  font-family: var(--mono);
  color: var(--seal-hi);
  font-size: 0.9rem;
}
.pt-gates li[data-pass="true"] .pt-gate-mark {
  color: var(--verdigris);
}
.pt-gate-detail {
  color: var(--ink-2);
  font-size: 0.9rem;
  line-height: 1.7;
}
.ub {
  gap: 0.55rem;
  display: grid;
}
.ub-row {
  border: 1px solid var(--rule);
  border-left: 2px solid var(--mist);
  border-radius: var(--r-sm);
  background: #1311098c;
  padding: 0.9rem 1rem;
}
.ub-name {
  font-family: var(--display);
  color: var(--ink);
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
}
.ub-lines {
  gap: 0.55rem;
  margin-top: 0.75rem;
  display: grid;
}
.ub-line {
  grid-template-columns: 6rem minmax(0, 1fr);
  align-items: baseline;
  gap: 0.9rem;
  display: grid;
}
@media (max-width: 560px) {
  .ub-line {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.15rem;
  }
}
.ub-key {
  font-family: var(--mono);
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-size: 0.6rem;
}
.ub-line[data-line="missing"] .ub-key {
  color: var(--mist);
}
.ub-val {
  color: var(--ink-2);
  font-size: 0.92rem;
  line-height: 1.65;
}
.pbr-opts {
  flex-wrap: wrap;
  gap: 0.4rem;
  display: flex;
}
.pbr-opt {
  font-family: var(--mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-2);
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  cursor: pointer;
  background: #1311098c;
  min-height: 44px;
  padding: 0.6rem 0.75rem;
  font-size: 0.66rem;
  transition:
    border-color 0.15s,
    color 0.15s;
}
.pbr-opt:hover {
  border-color: var(--rule-strong);
}
.pbr-opt[aria-pressed="true"] {
  color: var(--gild);
  border-color: var(--gild);
  background: var(--gild-dim);
}
.pbr-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
  gap: 0.8rem;
  display: grid;
}
.pbr-cell {
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  background: #1311098c;
  padding: 1rem 1.1rem;
}
.pbr-cell-sum {
  border-left: 2px solid var(--mist);
}
.pbr-key {
  font-family: var(--mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-3);
  margin: 0;
  font-size: 0.6rem;
}
.pbr-val {
  color: var(--gild);
  margin: 0.5rem 0 0;
  font-size: clamp(1.5rem, 4.5vw, 2rem);
  line-height: 1.15;
}
.pbr-cell-sum .pbr-val {
  color: var(--ink);
}
.pbr-sub {
  color: var(--ink-3);
  margin: 0.45rem 0 0;
  font-size: 0.84rem;
  line-height: 1.6;
}
.pbr-sub s {
  opacity: 0.75;
}
.pbr-note {
  color: var(--ink-2);
  margin: 1.3rem 0 0;
  font-size: 0.9rem;
  line-height: 1.7;
}
.crl-rows {
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.crl-row {
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  background: #1311098c;
  grid-template-columns: minmax(9rem, 14rem) minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 0.5rem 0.9rem;
  padding: 0.7rem 0.9rem;
  display: grid;
}
.crl-row[data-deluxe="true"] {
  border-color: var(--gild);
  background: var(--gild-dim);
}
.crl-name {
  color: var(--ink-2);
  font-size: 0.9rem;
}
.crl-row[data-deluxe="true"] .crl-name {
  color: var(--ink);
}
.crl-track {
  background: #ece2cb14;
  border-radius: 999px;
  height: 8px;
  display: block;
  overflow: hidden;
}
.crl-bar {
  background: var(--rung-3);
  border-radius: 999px;
  height: 100%;
  display: block;
}
.crl-row[data-deluxe="true"] .crl-bar {
  background: var(--gild);
}
.crl-rate {
  font-family: var(--mono);
  color: var(--ink);
  white-space: nowrap;
  font-size: 0.82rem;
}
.crl-per {
  color: var(--ink-3);
  font-size: 0.68rem;
}
.crl-price {
  font-family: var(--mono);
  color: var(--ink-3);
  white-space: nowrap;
  font-size: 0.72rem;
}
.crl-cap {
  color: var(--ink-3);
  margin: 1.1rem 0 0;
  font-size: 0.88rem;
  line-height: 1.7;
}
@media (max-width: 700px) {
  .crl-row {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .crl-name {
    order: 0;
    grid-column: 1;
  }
  .crl-rate {
    order: 1;
    grid-column: 2;
    justify-self: end;
  }
  .crl-track {
    order: 2;
    grid-column: 1/-1;
  }
  .crl-price {
    order: 3;
    grid-column: 1/-1;
    font-size: 0.68rem;
  }
}
.dlx-list {
  gap: 0.45rem;
  margin: 1.6rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.dlx-row {
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  background: #1311098c;
  grid-template-columns: 6.5rem minmax(0, 1fr);
  align-items: baseline;
  gap: 0.9rem;
  padding: 0.75rem 0.95rem;
  display: grid;
}
@media (max-width: 560px) {
  .dlx-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.2rem;
  }
}
.dlx-kind {
  font-family: var(--mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-size: 0.58rem;
}
.dlx-row[data-kind="currency"] {
  border-left: 2px solid var(--mist);
}
.dlx-row[data-kind="currency"] .dlx-kind {
  color: var(--mist);
}
.dlx-item {
  color: var(--ink);
  font-size: 0.95rem;
  line-height: 1.6;
}
.sfront {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
  gap: 0.8rem;
  margin: 1.6rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.sfront-row {
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  background: #1311098c;
  padding: 1rem 1.1rem;
}
.sfront-name {
  font-family: var(--display);
  color: var(--ink);
  margin: 0;
  font-size: 1.02rem;
  font-weight: 600;
}
.sfront-shape {
  font-family: var(--mono);
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--gild);
  margin: 0.5rem 0 0;
  font-size: 0.62rem;
}
.sfront-note {
  color: var(--ink-2);
  margin: 0.7rem 0 0;
  font-size: 0.9rem;
  line-height: 1.7;
}
.plat-store {
  color: var(--ink-2);
  border-left: 2px solid var(--gild);
  margin: 0 0 1.3rem;
  padding-left: 0.9rem;
  font-size: 0.94rem;
  line-height: 1.75;
}
.plat-rows {
  gap: 0.55rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.plat-row {
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  background: #1311098c;
  grid-template-columns: 1.6rem minmax(0, 1fr);
  gap: 0.8rem;
  padding: 0.85rem 1rem;
  display: grid;
}
.plat-row[data-tone="yes"] {
  border-left: 2px solid var(--verdigris);
}
.plat-row[data-tone="no"] {
  border-left: 2px solid var(--seal);
}
.plat-row[data-tone="neutral"] {
  border-left: 2px solid var(--mist);
}
.plat-mark {
  font-family: var(--mono);
  color: var(--ink-3);
  font-size: 1rem;
  line-height: 1.5;
}
.plat-row[data-tone="yes"] .plat-mark {
  color: var(--verdigris);
}
.plat-row[data-tone="no"] .plat-mark {
  color: var(--seal-hi);
}
.plat-row[data-tone="neutral"] .plat-mark {
  color: var(--mist);
}
.plat-body {
  gap: 0.3rem;
  display: grid;
}
.plat-label {
  font-family: var(--mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-size: 0.58rem;
}
.plat-value {
  font-family: var(--display);
  color: var(--ink);
  font-size: 1.02rem;
  font-weight: 600;
}
.plat-detail {
  color: var(--ink-2);
  font-size: 0.9rem;
  line-height: 1.7;
}
.lclk-rows {
  gap: 0.6rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.lclk-row {
  border: 1px solid var(--rule);
  border-left: 2px solid var(--gild);
  border-radius: var(--r-sm);
  background: #1311098c;
  gap: 0.3rem;
  padding: 0.95rem 1.1rem;
  display: grid;
}
.lclk-label {
  font-family: var(--mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-size: 0.58rem;
}
.lclk-when {
  font-family: var(--display);
  color: var(--ink);
  font-size: clamp(1.05rem, 2.6vw, 1.3rem);
  font-weight: 600;
}
.lclk-zone {
  font-family: var(--mono);
  letter-spacing: 0.06em;
  color: var(--ink-3);
  font-size: 0.66rem;
}
.lclk-note {
  color: var(--ink-2);
  margin-top: 0.35rem;
  font-size: 0.9rem;
  line-height: 1.7;
}
.lclk-foot {
  color: var(--ink-3);
  margin: 1.2rem 0 0;
  font-size: 0.86rem;
  line-height: 1.7;
}
.ltl {
  border-left: 1px solid var(--rule);
  gap: 1.3rem;
  margin: 1.6rem 0 0;
  padding: 0 0 0 1.4rem;
  list-style: none;
  display: grid;
}
.ltl-row {
  position: relative;
}
.ltl-row:before {
  content: "";
  background: var(--gild);
  width: 7px;
  height: 7px;
  position: absolute;
  top: 0.42rem;
  left: calc(-1.4rem - 4px);
  transform: rotate(45deg);
}
.ltl-row[data-tone="next"]:before {
  background: var(--mist);
}
.ltl-date {
  font-family: var(--mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gild);
  margin: 0;
  font-size: 0.6rem;
}
.ltl-row[data-tone="next"] .ltl-date {
  color: var(--mist);
}
.ltl-what {
  font-family: var(--display);
  color: var(--ink);
  margin: 0.35rem 0 0;
  font-size: 1.02rem;
  font-weight: 600;
}
.ltl-note {
  color: var(--ink-2);
  max-width: 62ch;
  margin: 0.4rem 0 0;
  font-size: 0.9rem;
  line-height: 1.7;
}
:root:lang(ja) {
  --display:
    var(--font-display), "Hiragino Mincho ProN", "Yu Mincho", YuMincho,
    "Noto Serif JP", "Source Han Serif JP", serif;
  --body:
    var(--font-body), "Hiragino Mincho ProN", "Yu Mincho", YuMincho,
    "Noto Serif JP", "Source Han Serif JP", serif;
}
:lang(ja) h1,
:lang(ja) h2,
:lang(ja) h3,
:lang(ja) h4 {
  line-height: 1.42;
}
:lang(ja) body,
:lang(ja) p,
:lang(ja) li {
  line-height: 1.85;
}
:lang(ja) .ps-clock,
:lang(ja) .ps-clock * {
  line-height: 1.2;
}
.shs-head {
  grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
  align-items: start;
  gap: clamp(1.2rem, 3vw, 2.2rem);
  display: grid;
}
.shs-answer {
  min-width: 0;
}
.shs-h {
  margin-top: 0.7rem;
  font-size: clamp(1.35rem, 5.6vw, 1.75rem);
  line-height: 1.22;
}
.shs-status {
  font-family: var(--mono);
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--ink-2);
  align-items: center;
  gap: 0.55rem;
  margin-top: 1rem;
  font-size: 0.72rem;
  display: flex;
}
.shs-lede {
  max-width: 62ch;
  color: var(--ink-2);
  margin-top: 1rem;
  font-size: 1rem;
  line-height: 1.72;
}
.shs-lede b {
  color: var(--gild-hi);
  font-weight: 600;
}
.shs-clock {
  border: 1px solid var(--rule);
  border-left: 2px solid var(--gild);
  border-radius: var(--r-sm);
  background: #c8a13c0b;
  gap: 0.5rem;
  margin-top: 1.3rem;
  padding: 0.85rem 1rem;
  display: inline-grid;
}
.shs-art {
  margin: 0;
}
.shs-credit {
  font-family: var(--mono);
  letter-spacing: 0.1em;
  color: var(--ink-3);
  margin-top: 0.6rem;
  font-size: 0.62rem;
  line-height: 1.7;
}
.shs-credit a {
  color: var(--ink-3);
  text-underline-offset: 2px;
  text-decoration: underline;
}
.shs-ledger-key {
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ink-3);
  margin-bottom: 0.85rem;
  font-size: 0.6rem;
}
.shs-routes {
  justify-items: start;
  gap: 0.9rem;
  display: grid;
}
.shs-routes-note {
  max-width: 62ch;
  color: var(--ink-2);
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.7;
}
@media (max-width: 860px) {
  .shs-head {
    grid-template-columns: minmax(0, 1fr);
  }
  .shs-art {
    order: 2;
  }
  .shs-answer {
    order: 1;
  }
}
@media (max-width: 700px) {
  .shs .eyebrow {
    display: none;
  }
  .shs-h {
    margin-top: 0;
  }
}
.shl-tabs {
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.1rem;
  display: flex;
}
.shl-lede {
  max-width: 62ch;
  color: var(--ink-3);
  margin: 0 0 0.9rem;
  font-size: 0.9rem;
  line-height: 1.65;
}
.shl-list {
  gap: 0.6rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.shl-row {
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  border-left: 2px solid var(--mist);
  background: #13110966;
  padding: 0.85rem 1rem;
}
.shl-row[data-kind="published"] {
  border-left-color: var(--verdigris);
}
.shl-row[data-kind="unpublished"] {
  border-left-color: var(--seal);
}
.shl-claim {
  font-family: var(--display);
  color: var(--ink);
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.35;
}
.shl-detail {
  color: var(--ink-2);
  margin: 0.45rem 0 0;
  font-size: 0.9rem;
  line-height: 1.68;
}
.shl-attr {
  font-family: var(--mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--verdigris);
  margin: 0.55rem 0 0;
  font-size: 0.6rem;
}
.cg-ask {
  font-family: var(--mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-3);
  margin: 0 0 0.7rem;
  font-size: 0.58rem;
}
.cg-picks {
  flex-wrap: wrap;
  gap: 0.45rem;
  display: flex;
}
.cg-pick {
  cursor: pointer;
  text-align: left;
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  min-width: 0;
  color: var(--ink-2);
  background: #1311098c;
  flex: auto;
  padding: 0.5rem 0.8rem;
  transition:
    border-color 0.18s,
    background 0.18s,
    color 0.18s;
}
.cg-pick:hover {
  border-color: var(--rule-strong);
  color: var(--ink);
}
.cg-pick[aria-pressed="true"] {
  border-color: var(--gild);
  background: var(--gild-dim);
  color: var(--gild-hi);
}
.cg-pick-label {
  font-family: var(--display);
  font-size: 0.92rem;
  font-weight: 600;
  display: block;
}
.cg-pick-hint {
  color: var(--ink-3);
  margin-top: 0.15rem;
  font-size: 0.76rem;
  line-height: 1.45;
  display: block;
}
.cg-pick[aria-pressed="true"] .cg-pick-hint {
  color: var(--gild);
}
@media (prefers-reduced-motion: reduce) {
  .cg-pick {
    transition: none;
  }
}
.cg-rows {
  gap: 0.5rem;
  display: grid;
}
.cg-row {
  border: 1px solid var(--rule);
  border-left: 2px solid var(--cg-tone);
  border-radius: var(--r-sm);
  background: #1311098c;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 0.9rem;
  padding: 0.8rem 1rem;
  display: grid;
}
.cg-row[data-state="yes"] {
  --cg-tone: var(--verdigris);
}
.cg-row[data-state="no"] {
  --cg-tone: var(--seal);
}
.cg-mark {
  border: 1px solid var(--cg-tone);
  border-radius: var(--r-sm);
  width: 22px;
  height: 22px;
  color: var(--cg-tone);
  font-family: var(--mono);
  flex: none;
  place-items: center;
  margin-top: 0.1rem;
  font-size: 0.8rem;
  line-height: 1;
  display: grid;
}
.cg-head {
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.5rem;
  display: flex;
}
.cg-name {
  font-family: var(--display);
  color: var(--ink);
  margin: 0;
  font-size: 0.98rem;
  font-weight: 600;
}
.cg-src {
  font-family: var(--mono);
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: var(--ink-3);
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  padding: 0.1rem 0.35rem;
  font-size: 0.52rem;
}
.cg-verdict {
  font-family: var(--mono);
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--cg-tone);
  margin-top: 0.2rem;
  font-size: 0.56rem;
  display: block;
}
.cg-note {
  color: var(--ink-2);
  margin-top: 0.45rem;
  font-size: 0.9rem;
  line-height: 1.6;
}
.cg-you {
  border-top: 1px dashed var(--rule);
  margin-top: 0.6rem;
  padding-top: 0.55rem;
  font-size: 0.86rem;
  line-height: 1.55;
}
.cg-you[data-usable="yes"] {
  color: var(--verdigris);
}
.cg-you[data-usable="no"] {
  color: var(--ink-3);
}
.ctp {
  margin-top: clamp(1.6rem, 3vw, 2.4rem);
}
.ctp-heading {
  margin: 0 0 0.5rem;
  font-size: clamp(1.15rem, 2.6vw, 1.5rem);
}
.ctp-lede {
  color: var(--ink-2);
  text-wrap: pretty;
  margin: 0 0 0.9rem;
  font-size: 0.95rem;
  line-height: 1.6;
}
.ctp-client-note {
  border: 1px solid var(--rule);
  border-left: 2px solid var(--gild);
  color: var(--ink-2);
  text-wrap: pretty;
  background: #1311098c;
  margin: 0 0 1.2rem;
  padding: 0.7rem 0.9rem;
  font-size: 0.88rem;
  line-height: 1.6;
}
.ctp-prompt {
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink-3);
  margin: 0 0 0.6rem;
  font-size: 0.64rem;
}
.ctp-grid {
  grid-template-columns: 1fr;
  gap: 0.55rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}
@media (min-width: 46rem) {
  .ctp-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
  }
}
.ctp-item {
  min-width: 0;
}
.ctp-card {
  text-align: left;
  border: 1px solid var(--rule);
  width: 100%;
  color: inherit;
  font: inherit;
  cursor: pointer;
  background: #1311098c;
  grid-template-columns: 56px minmax(0, 1fr) 1.2rem;
  align-items: start;
  gap: 0.8rem;
  padding: 0.8rem 0.9rem;
  transition:
    border-color 0.18s,
    background 0.18s;
  display: grid;
}
.ctp-card:hover,
.ctp-card:focus-visible {
  border-color: var(--gild);
  background: #c8a13c12;
}
.ctp-card[aria-expanded="true"] {
  border-color: var(--gild);
}
.ctp-portrait {
  object-fit: cover;
  border: 1px solid var(--rule-strong);
  filter: saturate(0.85);
  width: 56px;
  height: 56px;
}
.ctp-text {
  gap: 0.2rem;
  min-width: 0;
  display: grid;
}
.ctp-trade {
  font-family: var(--display);
  color: var(--ink);
  font-size: 1.02rem;
  line-height: 1.25;
}
.ctp-npc {
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gild);
  font-size: 0.68rem;
}
.ctp-aka {
  color: var(--ink-3);
  letter-spacing: 0.08em;
}
.ctp-logic {
  color: var(--ink-2);
  text-wrap: pretty;
  font-size: 0.88rem;
  line-height: 1.55;
}
.ctp-chevron {
  font-family: var(--display);
  color: var(--gild);
  font-size: 1.1rem;
  line-height: 1;
}
.ctp-panel {
  border: 1px solid var(--gild-dim);
  background: #c8a13c0d;
  border-top: 0;
  padding: 0.8rem 0.9rem 0.5rem;
}
.ctp-word-label {
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink-3);
  margin: 0 0 0.5rem;
  font-size: 0.62rem;
}
.ctp-words {
  flex-wrap: wrap;
  gap: 0.3rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}
.ctp-word {
  letter-spacing: 0.04em;
  color: var(--ink-3);
  border: 1px solid var(--rule);
  white-space: nowrap;
  padding: 0.15rem 0.42rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.68rem;
}
.ctp-npc-link {
  min-height: 44px;
  color: var(--gild);
  align-items: center;
  gap: 0.35rem;
  margin-top: 0.4rem;
  font-size: 0.88rem;
  display: inline-flex;
}
.ctp-en-note {
  color: var(--ink-3);
  font-size: 0.8rem;
}
.utl-stats {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr));
  gap: 1.1rem;
  margin: 1.1rem 0 0;
  display: grid;
}
.utl-stats dt {
  font-family: var(--mono);
  letter-spacing: 0.1em;
  color: var(--ink-3);
  font-size: 0.75rem;
}
.utl-stats dd {
  font-family: var(--display);
  color: var(--gild);
  margin: 0.4rem 0 0;
  font-size: clamp(1.5rem, 4vw, 2rem);
  font-weight: 700;
  line-height: 1.1;
}
.utl-stats dd.utl-stat-date {
  font-size: clamp(1rem, 2.6vw, 1.15rem);
  font-weight: 600;
  line-height: 1.4;
}
.utl-baseline {
  border-top: 1px solid var(--rule);
  margin-top: 1.3rem;
  padding-top: 1.1rem;
}
.utl-baseline-key {
  font-family: var(--mono);
  letter-spacing: 0.1em;
  color: var(--ink-3);
  margin: 0;
  font-size: 0.75rem;
}
.utl-baseline-val {
  font-family: var(--display);
  color: var(--ink);
  margin: 0.4rem 0 0;
  font-size: 1.1rem;
  font-weight: 600;
}
.utl-steam {
  color: var(--gild);
  text-underline-offset: 3px;
  margin-top: 0.55rem;
  padding: 0.55rem 0;
  font-size: 0.86rem;
  text-decoration: underline;
  display: inline-block;
}
.utl-filters {
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 1.3rem 0 0;
  display: flex;
}
.utl-filter {
  --utl-tone: var(--ink-3);
  min-height: 44px;
  font: inherit;
  color: var(--ink-2);
  background: var(--panel-2);
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  cursor: pointer;
  align-items: center;
  gap: 0.45rem;
  padding: 0.5rem 0.85rem;
  font-size: 0.88rem;
  transition:
    border-color 0.15s,
    color 0.15s;
  display: inline-flex;
}
.utl-filter:hover {
  border-color: var(--utl-tone);
  color: var(--ink);
}
.utl-filter[aria-pressed="true"] {
  border-color: var(--utl-tone);
  color: var(--utl-tone);
}
.utl-count {
  font-family: var(--mono);
  color: var(--ink-3);
  font-size: 0.72rem;
}
.utl-list {
  gap: 0.7rem;
  margin: 1.1rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.utl-row {
  padding: 1rem 1.1rem;
}
.utl-head {
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.5rem;
  display: flex;
}
.utl-date,
.utl-cat {
  font-family: var(--mono);
  letter-spacing: 0.06em;
  color: var(--ink-3);
  margin: 0;
  font-size: 0.75rem;
}
.utl-title {
  font-family: var(--display);
  color: var(--ink);
  margin: 0.55rem 0 0;
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.4;
}
.utl-summary {
  color: var(--ink-2);
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  margin: 0.5rem 0 0;
  font-size: 0.92rem;
  line-height: 1.65;
  display: -webkit-box;
  overflow: hidden;
}
.utl-links {
  border-top: 1px dashed var(--rule);
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 1rem;
  margin-top: 0.5rem;
  padding-top: 0.6rem;
  display: flex;
}
.utl-links .tl-chip {
  letter-spacing: 0.02em;
  text-transform: none;
  min-height: 40px;
  font-size: 0.75rem;
}
.utl-more {
  min-height: 48px;
  font: inherit;
  color: var(--gild);
  border-radius: var(--r-sm);
  cursor: pointer;
  background: 0 0;
  border: 1px solid #c8a13c59;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1rem;
  padding: 0.6rem 1.1rem;
  font-size: 0.9rem;
  transition: background 0.15s;
  display: inline-flex;
}
.utl-more:hover,
.utl-more:focus-visible {
  background: var(--gild-dim);
}
.lcr {
  margin-top: clamp(2rem, 4vw, 3rem);
}
.lcr-lede {
  max-width: 68ch;
  color: var(--ink-2);
  margin-top: 0.9rem;
  font-size: 1rem;
  line-height: 1.8;
}
.lcr-filters {
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1.3rem;
  display: flex;
}
.lcr-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 21rem), 1fr));
  gap: 0.8rem;
  margin: 1.3rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.lcr-card {
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  background: var(--panel-2);
  grid-template-columns: 5.5rem minmax(0, 1fr);
  gap: 1rem;
  height: 100%;
  padding: 1rem;
  text-decoration: none;
  transition:
    border-color 0.18s,
    transform 0.18s;
  display: grid;
}
.lcr-card:hover,
.lcr-card:focus-visible {
  border-color: var(--gild);
  transform: translateY(-2px);
}
.lcr-portrait {
  aspect-ratio: 1;
  border-radius: var(--r-sm);
  border: 1px solid var(--rule);
  position: relative;
  overflow: hidden;
}
.lcr-body {
  align-content: start;
  gap: 0.4rem;
  min-width: 0;
  display: grid;
}
.lcr-head {
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.5rem;
  display: flex;
}
.lcr-name {
  font-family: var(--display);
  color: var(--ink);
  font-size: 1.12rem;
  font-weight: 600;
  transition: color 0.18s;
}
.lcr-card:hover .lcr-name {
  color: var(--gild-hi);
}
.lcr-en {
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-3);
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  padding: 0.1rem 0.35rem;
  font-size: 0.58rem;
}
.lcr-role {
  color: var(--ink-2);
  font-size: 0.94rem;
  line-height: 1.6;
}
.lcr-beginner {
  font-size: 0.88rem;
  line-height: 1.55;
}
.lcr-stances {
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  margin-top: 0.15rem;
  display: flex;
}
.lcr-stances-key {
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-size: 0.6rem;
}
.lcr-onward {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr));
  gap: 0.8rem;
  margin: 1.4rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.lcr-onward-card {
  gap: 0.5rem;
  height: 100%;
  padding: 1.1rem 1.3rem;
  text-decoration: none;
  display: grid;
}
.lcr-onward-title {
  font-family: var(--display);
  color: var(--ink);
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.4;
}
.lcr-onward-detail {
  color: var(--ink-2);
  font-size: 0.94rem;
  line-height: 1.7;
}
.lto {
  margin-top: clamp(2rem, 4vw, 3rem);
}
.lto-heading {
  font-size: clamp(1.15rem, 2.2vw, 1.5rem);
}
.lto-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.7rem;
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}
@media (min-width: 56rem) {
  .lto-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.lto-card {
  border-radius: var(--r-sm);
  align-items: center;
  gap: 0.85rem;
  height: 100%;
  padding: 0.8rem 0.9rem;
  text-decoration: none;
  transition:
    border-color 0.18s,
    transform 0.18s;
  display: flex;
}
.lto-card:hover,
.lto-card:focus-visible {
  border-color: var(--gild);
  transform: translateY(-2px);
}
.lto-portrait {
  border-radius: var(--r-sm);
  border: 1px solid var(--rule);
  flex: none;
  width: 3.1rem;
  height: 3.1rem;
  position: relative;
  overflow: hidden;
}
.lto-body {
  gap: 0.2rem;
  min-width: 0;
  display: grid;
}
.lto-name {
  font-family: var(--display);
  color: var(--ink);
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.4rem;
  font-size: 1rem;
  font-weight: 600;
  transition: color 0.18s;
  display: flex;
}
.lto-card:hover .lto-name {
  color: var(--gild-hi);
}
.lto-badge {
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-3);
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  padding: 0.05rem 0.3rem;
  font-size: 0.56rem;
}
.lto-role {
  color: var(--ink-3);
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  font-size: 0.82rem;
  line-height: 1.5;
  display: -webkit-box;
  overflow: hidden;
}
.lto-hub {
  margin-top: 0.9rem;
}
.rvw-lede {
  max-width: 64ch;
  color: var(--ink-2);
  margin-top: 0.8rem;
  font-size: 1rem;
  line-height: 1.8;
}
.rvw-list {
  gap: 1.3rem;
  margin: 1.4rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.rvw-row {
  gap: 0.35rem;
  display: grid;
}
.rvw-head {
  justify-content: space-between;
  align-items: baseline;
  gap: 0.8rem;
  display: flex;
}
.rvw-name {
  font-family: var(--display);
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
}
.rvw-name a {
  color: var(--ink);
  text-underline-offset: 3px;
  text-decoration: underline;
}
.rvw-name a:hover {
  color: var(--gild-hi);
}
.rvw-value {
  font-family: var(--display);
  color: var(--gild);
  margin: 0;
  font-size: clamp(1.5rem, 5vw, 1.9rem);
  font-weight: 700;
  line-height: 1;
}
.rvw-verdict {
  letter-spacing: 0.08em;
  color: var(--ink-3);
  margin: 0;
  font-size: 0.72rem;
}
.rvw-bar {
  background: #ffffff0f;
  border-radius: 999px;
  height: 0.5rem;
  margin-top: 0.3rem;
  overflow: hidden;
}
.rvw-fill {
  background: var(--gild);
  opacity: 0.75;
  border-radius: 999px;
  height: 100%;
  display: block;
}
.rvw-sample {
  color: var(--ink-2);
  margin: 0;
  font-size: 0.88rem;
}
.rvw-sample b {
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}
.rvw-mult {
  color: var(--mist);
  margin-left: 0.5rem;
  font-size: 0.76rem;
}
.rvw-rail {
  margin-top: 1.3rem;
}
.rvw-track {
  border-radius: var(--r-sm);
  background: linear-gradient(90deg, #8496a129, #c8a13c38);
  height: 2.4rem;
  margin: 0 0.45rem;
  position: relative;
}
.rvw-dot {
  background: var(--ink);
  opacity: 0.72;
  border: 1px solid #0b0a08b3;
  border-radius: 50%;
  width: 0.62rem;
  height: 0.62rem;
  margin: -0.31rem 0 0 -0.31rem;
  position: absolute;
  top: 50%;
}
.rvw-mean {
  background: var(--gild);
  width: 2px;
  margin-left: -1px;
  position: absolute;
  top: -0.25rem;
  bottom: -0.25rem;
}
.rvw-scale {
  color: var(--ink-3);
  justify-content: space-between;
  gap: 0.6rem;
  margin-top: 0.6rem;
  font-size: 0.82rem;
  display: flex;
}
.rvw-scale b {
  color: var(--gild);
  font-family: var(--display);
  font-size: 1rem;
}
.rvw-scale span:nth-child(2) {
  text-align: center;
}
.rvw-scale span:last-child {
  text-align: right;
}
.plp {
  border: 1px solid var(--rule);
  border-radius: var(--r-md);
  background:
    radial-gradient(circle at 92% 8%, #c8a13c1f, transparent 34%), var(--panel);
  margin-top: 2rem;
  padding: clamp(1.15rem, 3vw, 1.8rem);
}
.plp-head {
  justify-content: space-between;
  align-items: end;
  gap: 1.4rem;
  display: flex;
}
.plp-head > div:first-child {
  max-width: 60ch;
}
.plp-kicker {
  color: var(--gild);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin: 0;
  font-size: 0.62rem;
}
.plp h2 {
  margin: 0.5rem 0 0;
  font-size: clamp(1.35rem, 3vw, 1.85rem);
}
.plp-head p:last-child {
  color: var(--ink-2);
  margin: 0.65rem 0 0;
  line-height: 1.65;
}
.plp-switch {
  border: 1px solid var(--rule);
  background: #0000003d;
  border-radius: 999px;
  grid-template-columns: repeat(2, minmax(4.8rem, 1fr));
  padding: 0.22rem;
  display: inline-grid;
}
.plp-switch button {
  min-height: 44px;
  color: var(--ink-2);
  font: inherit;
  cursor: pointer;
  background: 0 0;
  border: 0;
  border-radius: 999px;
  padding: 0.55rem 0.9rem;
  font-size: 0.86rem;
}
.plp-switch button.is-active {
  background: var(--gild);
  color: #11100d;
  font-weight: 700;
}
.plp-switch button:focus-visible {
  outline: 2px solid var(--mist);
  outline-offset: 2px;
}
.plp-verdict {
  border-left: 2px solid var(--gild);
  color: var(--ink-2);
  margin: 1.1rem 0 0;
  padding-left: 0.8rem;
  font-size: 0.92rem;
}
.plp-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.85rem;
  margin: 1.2rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.plp-grid li {
  min-width: 0;
}
.plp-grid a {
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  height: 100%;
  color: inherit;
  background: #0003;
  text-decoration: none;
  transition:
    border-color 0.16s,
    transform 0.16s;
  display: block;
  overflow: hidden;
}
.plp-grid a:hover {
  border-color: #c8a13cb3;
  transform: translateY(-2px);
}
.plp-grid a:focus-visible {
  outline: 2px solid var(--mist);
  outline-offset: 3px;
}
.plp-image {
  aspect-ratio: 16/9;
  background: #111;
  position: relative;
  overflow: hidden;
}
.plp-slot {
  color: var(--ink);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  background: #080807c7;
  border: 1px solid #fff3;
  border-radius: 999px;
  padding: 0.28rem 0.45rem;
  font-size: 0.58rem;
  position: absolute;
  top: 0.65rem;
  left: 0.65rem;
}
.plp-copy {
  padding: 0.9rem;
}
.plp-role {
  color: var(--gild);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-size: 0.58rem;
}
.plp-copy h3 {
  margin: 0.35rem 0 0;
  font-size: 1.02rem;
}
.plp-copy p {
  color: var(--ink-2);
  margin: 0.5rem 0 0;
  font-size: 0.86rem;
  line-height: 1.55;
}
.plp-link {
  color: var(--mist);
  margin-top: 0.75rem;
  font-size: 0.78rem;
  display: inline-block;
}
@media (max-width: 720px) {
  .plp-head {
    flex-direction: column;
    align-items: stretch;
  }
  .plp-switch {
    width: 100%;
  }
  .plp-grid {
    grid-template-columns: 1fr;
  }
  .plp-grid a {
    grid-template-columns: minmax(7.5rem, 38%) 1fr;
    display: grid;
  }
  .plp-image {
    aspect-ratio: auto;
    min-height: 100%;
  }
  .plp-copy {
    padding: 0.85rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .plp-grid a {
    transition: none;
  }
}
.cr-name a {
  color: inherit;
  text-underline-offset: 4px;
  -webkit-text-decoration: underline #c8a13c8c;
  text-decoration: underline #c8a13c8c;
}
.cr-name a:hover {
  color: var(--gild-hi);
}
.cr-answer {
  border-left: 2px solid var(--gild);
  margin-top: 2rem;
  padding: clamp(1.2rem, 3vw, 1.8rem);
}
.cr-answer-kicker {
  color: var(--gild);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin: 0;
  font-size: 0.62rem;
}
.cr-answer > p:last-child {
  color: var(--ink);
  margin: 0.7rem 0 0;
  font-size: clamp(1rem, 2vw, 1.12rem);
  line-height: 1.75;
}
.cr-fact-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.8rem;
  margin: 1.5rem 0 0;
  display: grid;
}
.cr-fact-grid > div {
  min-width: 0;
  padding: 1rem 1.1rem;
}
.cr-fact-grid dt {
  color: var(--gild);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 0.58rem;
}
.cr-fact-grid dd {
  color: var(--ink-2);
  margin: 0.55rem 0 0;
  font-size: 0.92rem;
  line-height: 1.55;
}
.cr-tells {
  gap: 0.7rem;
  max-width: 68rem;
  margin: 1.4rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.cr-tells li {
  border-top: 1px solid var(--rule);
  grid-template-columns: 2.5rem 1fr;
  align-items: start;
  gap: 0.8rem;
  padding: 1rem 1.1rem;
  display: grid;
}
.cr-tells li > span {
  color: var(--gild);
  font-size: 0.65rem;
}
.cr-tells p {
  color: var(--ink-2);
  margin: 0;
  line-height: 1.65;
}
.cr-missing {
  border: 1px solid #98443a73;
  border-left: 2px solid var(--seal);
  background: #501e1c1f;
  max-width: 68ch;
  margin-top: 3rem;
  padding: 1.2rem 1.3rem;
}
.cr-missing > p:first-child {
  color: var(--seal-hi, #c98a80);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin: 0;
  font-size: 0.6rem;
}
.cr-missing h2 {
  margin: 0.5rem 0 0;
  font-size: clamp(1.25rem, 3vw, 1.65rem);
}
.cr-missing > p:last-child {
  color: var(--ink-2);
  margin: 0.7rem 0 0;
  line-height: 1.7;
}
.htc {
  border: 1px solid var(--rule);
  border-radius: var(--r-md);
  background:
    radial-gradient(circle at 90% 10%, #5b797133, transparent 32%), var(--panel);
  margin-top: 2rem;
  padding: clamp(1.2rem, 3vw, 1.8rem);
}
.htc-kicker {
  color: var(--mist);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin: 0;
  font-size: 0.62rem;
}
.htc-copy h2 {
  margin: 0.5rem 0 0;
  font-size: clamp(1.35rem, 3vw, 1.85rem);
}
.htc-copy > p:last-child {
  color: var(--ink-2);
  margin: 0.65rem 0 0;
}
.htc-tabs {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.5rem;
  margin-top: 1.2rem;
  display: grid;
}
.htc-tabs button {
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  min-height: 46px;
  color: var(--ink-2);
  font: inherit;
  cursor: pointer;
  background: #0000002e;
  padding: 0.65rem 0.75rem;
  font-size: 0.86rem;
}
.htc-tabs button.is-active {
  border-color: var(--mist);
  color: var(--ink);
  background: #5b797138;
}
.htc-tabs button:focus-visible {
  outline: 2px solid var(--gild);
  outline-offset: 2px;
}
.htc-result {
  border-left: 2px solid var(--mist);
  background: #0000002e;
  min-height: 10rem;
  margin-top: 0.8rem;
  padding: 1.1rem 1.2rem;
}
.htc-grade {
  color: var(--mist);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 0.58rem;
}
.htc-result h3 {
  margin: 0.5rem 0 0;
  font-size: clamp(1.15rem, 2.5vw, 1.45rem);
}
.htc-result p {
  max-width: 70ch;
  color: var(--ink-2);
  margin: 0.65rem 0 0;
  line-height: 1.65;
}
@media (max-width: 720px) {
  .cr-fact-grid,
  .htc-tabs {
    grid-template-columns: 1fr;
  }
  .htc-result {
    min-height: 13rem;
  }
}
.csg {
  margin-top: 2rem;
}
.csg-head {
  max-width: 68ch;
}
.csg-kicker {
  color: var(--gild);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin: 0;
  font-size: 0.62rem;
}
.csg-head h2 {
  margin: 0.5rem 0 0;
  font-size: clamp(1.45rem, 3.5vw, 2rem);
}
.csg-head p:last-child {
  color: var(--ink-2);
  margin: 0.7rem 0 0;
  line-height: 1.65;
}
.csg-myth {
  border: 1px solid #c8a13c73;
  border-left: 2px solid var(--gild);
  background:
    radial-gradient(circle at 95% 5%, #c8a13c29, transparent 36%), var(--panel);
  justify-content: space-between;
  align-items: end;
  gap: 1.2rem;
  margin-top: 1.2rem;
  padding: clamp(1rem, 3vw, 1.4rem);
  display: flex;
}
.csg-myth > div {
  max-width: 72ch;
}
.csg-myth .mono {
  color: var(--gild);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 0.58rem;
  display: block;
}
.csg-myth strong {
  font-family: var(--display);
  margin-top: 0.35rem;
  font-size: clamp(1.15rem, 2.8vw, 1.5rem);
  display: block;
}
.csg-myth p {
  color: var(--ink-2);
  margin: 0.55rem 0 0;
  font-size: 0.9rem;
  line-height: 1.6;
}
.csg-myth > a {
  min-height: 44px;
  color: var(--gild);
  text-underline-offset: 4px;
  flex: none;
  align-items: center;
  font-size: 0.84rem;
  text-decoration: underline;
  display: inline-flex;
}
.csg-filters {
  scrollbar-width: thin;
  gap: 0.45rem;
  margin-top: 1rem;
  padding-bottom: 0.35rem;
  display: flex;
  overflow-x: auto;
}
.csg-filters button {
  border: 1px solid var(--rule);
  min-height: 48px;
  color: var(--ink-2);
  font: inherit;
  cursor: pointer;
  background: 0 0;
  border-radius: 999px;
  flex: none;
  padding: 0.55rem 0.8rem;
  font-size: 0.82rem;
}
.csg-filters button span {
  color: var(--ink-3);
  font-variant-numeric: tabular-nums;
  margin-left: 0.25rem;
}
.csg-filters button.is-active {
  border-color: var(--gild);
  background: var(--gild);
  color: #11100d;
  font-weight: 700;
}
.csg-filters button.is-active span {
  color: inherit;
  opacity: 0.72;
}
.csg-filters button:focus-visible {
  outline: 2px solid var(--mist);
  outline-offset: 2px;
}
.csg-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.85rem;
  margin: 0.7rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.csg-grid li {
  min-width: 0;
}
.csg-grid a {
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  background: var(--panel);
  height: 100%;
  color: inherit;
  text-decoration: none;
  transition:
    border-color 0.16s,
    transform 0.16s;
  display: block;
  overflow: hidden;
}
.csg-grid a:hover {
  border-color: #c8a13cb3;
  transform: translateY(-2px);
}
.csg-grid a:focus-visible {
  outline: 2px solid var(--mist);
  outline-offset: 3px;
}
.csg-image {
  aspect-ratio: 16/9;
  background: #0d0d0c;
  position: relative;
  overflow: hidden;
}
.csg-image > span {
  color: var(--ink);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: #080807d1;
  border: 1px solid #ffffff2e;
  border-radius: 999px;
  padding: 0.28rem 0.45rem;
  font-size: 0.55rem;
  position: absolute;
  bottom: 0.6rem;
  left: 0.6rem;
}
.csg-copy {
  padding: 0.9rem 1rem 1rem;
}
.csg-copy > .mono {
  color: var(--gild);
  letter-spacing: 0.11em;
  text-transform: uppercase;
  margin: 0;
  font-size: 0.56rem;
}
.csg-copy h3 {
  margin: 0.35rem 0 0;
  font-size: 1.05rem;
  line-height: 1.35;
}
.csg-copy > p:nth-of-type(2) {
  color: var(--ink-2);
  margin: 0.55rem 0 0;
  font-size: 0.86rem;
  line-height: 1.55;
}
.csg-copy > span {
  color: var(--mist);
  margin-top: 0.75rem;
  font-size: 0.78rem;
  display: inline-block;
}
.csg-source {
  color: var(--ink-3);
  margin: 0.9rem 0 0;
  font-size: 0.75rem;
  line-height: 1.55;
}
@media (max-width: 900px) {
  .csg-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 620px) {
  .csg-myth {
    flex-direction: column;
    align-items: stretch;
  }
  .csg-grid {
    grid-template-columns: 1fr;
  }
  .csg-grid a {
    grid-template-columns: minmax(7.5rem, 38%) 1fr;
    display: grid;
  }
  .csg-image {
    aspect-ratio: auto;
    min-height: 100%;
  }
  .csg-copy {
    padding: 0.8rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .csg-grid a {
    transition: none;
  }
}
.sharerow {
  flex-direction: column;
  gap: 0.55rem;
  display: flex;
}
@media (max-width: 900px) {
  .sharerow {
    width: 100%;
  }
}
.sharerow-grid {
  grid-template-columns: repeat(4, 48px);
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.sharerow-tile {
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  background: var(--panel-2);
  width: 48px;
  height: 48px;
  color: var(--ink-2);
  cursor: pointer;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  transition:
    border-color 0.16s,
    color 0.16s,
    background 0.16s;
  display: flex;
}
.sharerow-tile:hover {
  border-color: var(--rule-strong);
  color: var(--ink);
  background: var(--panel-3);
}
.sharerow-tile:focus-visible {
  outline: 2px solid var(--gild);
  outline-offset: 2px;
}
.sharerow-tile svg {
  fill: currentColor;
  pointer-events: none;
  width: 18px;
  height: 18px;
}
.sharerow-tile.is-primary {
  color: var(--gild-hi);
  background: var(--gild-dim);
  border-color: #c8a13c6b;
}
.sharerow-tile.is-primary:hover {
  border-color: var(--gild);
  background: #c8a13c38;
}
.sharerow-tile.is-copied {
  color: var(--verdigris);
  background: #5b8f7424;
  border-color: #5b8f748c;
}
@media (max-width: 900px) {
  .sharerow {
    margin-top: 1.15rem;
  }
}
@media (max-width: 640px) {
  .sharerow-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 6px;
  }
  .sharerow-tile {
    width: 100%;
    height: 52px;
  }
  .sharerow-tile svg {
    width: 19px;
    height: 19px;
  }
  .sharerow-grid .is-wide-only {
    display: none;
  }
}
.folio-title {
  grid-template-columns: minmax(0, auto) 1fr;
  align-items: end;
  column-gap: 2rem;
  display: grid;
}
.folio-title > h1 {
  grid-column: 1;
}
.folio-title > .sharerow {
  grid-column: 2;
  justify-self: end;
  padding-bottom: 0.35rem;
}
@media (max-width: 900px) {
  .folio-title {
    grid-template-columns: 1fr;
  }
  .folio-title > .sharerow {
    grid-column: 1;
    justify-self: stretch;
    padding-bottom: 0;
  }
}
.footer-index {
  column-width: 13.5rem;
  orphans: 3;
  widows: 3;
  column-gap: 2.2rem;
}
.footer-index > nav {
  break-inside: auto;
}
.footer-index > nav + nav {
  margin-top: 1.15rem;
}
.footer-index .footgroup {
  break-after: avoid;
  break-inside: avoid;
}
.footer-index li {
  break-inside: avoid;
}
@media (max-width: 700px) {
  .footer-index .footlink {
    padding: 0.45rem 0 !important;
    font-size: 0.92rem !important;
  }
}
.psr-readout {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
  align-items: stretch;
  gap: clamp(0.9rem, 2.4vw, 1.4rem);
  margin-bottom: clamp(1.1rem, 3vw, 1.5rem);
  display: grid;
}
.psr-since {
  border: 1px solid var(--psr-tone);
}
@supports (color: color-mix(in lab, red, red)) {
  .psr-since {
    border: 1px solid color-mix(in srgb, var(--psr-tone) 40%, transparent);
  }
}
.psr-since {
  background: var(--psr-tone);
}
@supports (color: color-mix(in lab, red, red)) {
  .psr-since {
    background: color-mix(in srgb, var(--psr-tone) 7%, transparent);
  }
}
.psr-since {
  padding: clamp(0.85rem, 2.4vw, 1.15rem);
}
.psr-key {
  font-family: var(--mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-size: 0.6rem;
}
.psr-big {
  align-items: baseline;
  gap: 0.45rem;
  margin-top: 0.5rem;
  display: flex;
}
.psr-num {
  color: var(--psr-tone);
  font-variant-numeric: tabular-nums;
  font-size: clamp(2.1rem, 6.5vw, 2.9rem);
  font-weight: 600;
  line-height: 1;
}
.psr-unit {
  color: var(--ink-2);
  font-size: 0.92rem;
}
.psr-facts {
  align-content: center;
  gap: 0.7rem;
  display: grid;
}
.psr-fact {
  border-left: 2px solid var(--rung-3);
  padding-left: 0.8rem;
}
.psr-fact-val {
  color: var(--ink);
  margin-top: 0.28rem;
  font-size: 0.95rem;
  line-height: 1.6;
}
.psr-rail {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 9.5rem), 1fr));
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.psr-node {
  text-align: left;
  border: 1px solid var(--line);
  border-left: 3px solid var(--rung-3);
  width: 100%;
  min-height: 48px;
  color: inherit;
  cursor: pointer;
  background: #13110959;
  align-content: center;
  gap: 0.25rem;
  padding: 0.6rem 0.7rem;
  transition:
    background 0.12s,
    border-color 0.12s;
  display: grid;
}
.psr-node:hover {
  background: #c8a13c12;
}
.psr-node[data-current="true"] {
  border-left-color: var(--gild);
}
.psr-node[data-open="true"] {
  border-color: var(--gild);
  background: #c8a13c1f;
}
.psr-node-date {
  color: var(--ink);
  font-size: 0.95rem;
  font-weight: 600;
}
.psr-node-meta {
  font-family: var(--mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-size: 0.58rem;
}
.psr-detail {
  min-height: 5.5rem;
  margin-top: 0.9rem;
}
.psr-card {
  border: 1px solid var(--line);
  border-left: 3px solid var(--gild);
  background: #13110973;
  padding: clamp(0.85rem, 2.4vw, 1.1rem);
}
.psr-card-head {
  color: var(--gild);
  font-size: 1rem;
  font-weight: 600;
}
.psr-card-body {
  color: var(--ink-2);
  max-width: 62ch;
  margin-top: 0.5rem;
  font-size: 0.95rem;
  line-height: 1.7;
}
.psr-card-link {
  color: var(--gild);
  text-underline-offset: 4px;
  margin-top: 0.6rem;
  padding: 0.35rem 0;
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: underline;
  display: inline-block;
}
.psr-empty {
  color: var(--ink-3);
  max-width: 62ch;
  font-size: 0.92rem;
  line-height: 1.7;
}
.psr-caption {
  color: var(--ink-3);
  max-width: 76ch;
  margin-top: 1.3rem;
  font-size: 0.68rem;
  line-height: 1.75;
}
.ci-tally {
  font-family: var(--mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.3rem 0.55rem;
  margin-top: 0.3rem;
  font-size: 0.58rem;
  display: flex;
}
.ci-tally-date {
  color: var(--ink-3);
}
.ci-tally-mark {
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.06em;
}
.ci-tally-stale {
  color: var(--ink-3);
  text-transform: none;
  letter-spacing: 0.04em;
  font-style: italic;
}
.ci-pass {
  border-top: 1px solid var(--line);
  margin-top: 0.9rem;
  padding-top: 0.8rem;
}
.ci-pass-head {
  font-family: var(--mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gild);
  font-size: 0.62rem;
}
.ci-pass-note {
  color: var(--ink-3);
  text-transform: none;
  letter-spacing: 0.04em;
}
.ci-pass-list {
  gap: 0.5rem;
  margin: 0.6rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.ci-pass-list li {
  color: var(--ink-2);
  grid-template-columns: 1.1rem minmax(0, 1fr);
  gap: 0.45rem;
  font-size: 0.9rem;
  line-height: 1.6;
  display: grid;
}
.ci-pass-list b {
  color: var(--ink);
  font-weight: 600;
}
.ci-pass-dir {
  font-size: 0.72rem;
  line-height: 1.9;
}
.ci-cross {
  margin-top: 0.8rem;
}
.ci-cross > summary {
  cursor: pointer;
  min-height: 44px;
  font-family: var(--mono);
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: var(--ink-3);
  align-items: center;
  font-size: 0.6rem;
  display: flex;
}
.ci-cross[open] > summary {
  color: var(--gild);
}
.cc-form {
  gap: 0.5rem;
  margin-top: clamp(1.1rem, 3vw, 1.5rem);
  display: grid;
}
.cc-label {
  font-family: var(--mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-size: 0.6rem;
}
.cc-input {
  width: 100%;
  max-width: 22rem;
  min-height: 48px;
  font-family: var(--mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink);
  border: 1px solid var(--line);
  background: #13110999;
  border-radius: 0;
  padding: 0.7rem 0.85rem;
  font-size: 1rem;
}
.cc-input:focus-visible {
  outline: 2px solid var(--gild);
  outline-offset: 2px;
  border-color: var(--gild);
}
.cc-input::placeholder {
  color: var(--ink-3);
  letter-spacing: 0.1em;
}
.cc-answer {
  min-height: 6.5rem;
  margin-top: 0.9rem;
}
.cc-idle {
  color: var(--ink-3);
  max-width: 62ch;
  font-size: 0.92rem;
  line-height: 1.7;
}
.cc-card {
  border: 1px solid var(--cc-tone);
}
@supports (color: color-mix(in lab, red, red)) {
  .cc-card {
    border: 1px solid color-mix(in srgb, var(--cc-tone) 34%, transparent);
  }
}
.cc-card {
  border-left: 3px solid var(--cc-tone);
  background: #13110973;
  padding: clamp(0.85rem, 2.4vw, 1.1rem);
}
.cc-card-head {
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.4rem 0.7rem;
  display: flex;
}
.cc-code {
  font-family: var(--mono);
  letter-spacing: 0.1em;
  color: var(--ink);
  overflow-wrap: anywhere;
  font-size: 1rem;
}
.cc-verdict {
  font-family: var(--mono);
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--cc-tone);
  font-size: 0.58rem;
}
.cc-card-body {
  color: var(--ink-2);
  max-width: 62ch;
  margin-top: 0.55rem;
  font-size: 0.95rem;
  line-height: 1.7;
}
.cc-card-meta {
  font-family: var(--mono);
  letter-spacing: 0.08em;
  color: var(--ink-3);
  margin-top: 0.6rem;
  font-size: 0.6rem;
}
.cc-sub {
  font-family: var(--mono);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ink-3);
  margin-bottom: 0.9rem;
  font-size: 0.6rem;
}
.cc-tells {
  gap: 0.9rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.cc-tells li {
  grid-template-columns: 2rem minmax(0, 1fr);
  align-items: start;
  gap: 0.6rem;
  display: grid;
}
.cc-tell-n {
  font-family: var(--mono);
  color: var(--gild);
  font-size: 0.7rem;
  line-height: 1.7;
}
.cc-tells b {
  color: var(--ink);
  font-size: 0.98rem;
  font-weight: 600;
  display: block;
}
.cc-tell-detail {
  color: var(--ink-2);
  max-width: 62ch;
  margin-top: 0.3rem;
  font-size: 0.92rem;
  line-height: 1.7;
  display: block;
}
.cc-ledger {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr));
  gap: 0.7rem;
  display: grid;
}
.cc-caption {
  color: var(--ink-3);
  max-width: 76ch;
  margin-top: 1.4rem;
  font-size: 0.68rem;
  line-height: 1.8;
}
.cc-link {
  color: var(--gild);
  text-underline-offset: 3px;
  text-decoration: underline;
}
.hwr-tabs {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr));
  gap: 0.5rem;
  margin-top: clamp(1.1rem, 3vw, 1.5rem);
  display: grid;
}
.hwr-tab {
  text-align: left;
  border: 1px solid var(--line);
  border-left: 3px solid var(--rung-3);
  min-height: 48px;
  color: inherit;
  cursor: pointer;
  background: #13110959;
  align-content: center;
  gap: 0.28rem;
  padding: 0.65rem 0.8rem;
  transition:
    background 0.12s,
    border-color 0.12s;
  display: grid;
}
.hwr-tab:hover {
  background: #c8a13c12;
}
.hwr-tab[aria-selected="true"] {
  border-color: var(--gild);
  border-left-color: var(--gild);
  background: #c8a13c1f;
}
.hwr-tab-name {
  color: var(--ink);
  font-size: 0.95rem;
  font-weight: 600;
}
.hwr-tab-cost {
  font-family: var(--mono);
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-size: 0.58rem;
}
.hwr-panel {
  border: 1px solid var(--line);
  border-left: 3px solid var(--gild);
  background: #13110973;
  margin-top: 0.9rem;
  padding: clamp(0.9rem, 2.6vw, 1.2rem);
}
.hwr-panel-head {
  color: var(--gild);
  font-size: 1.05rem;
  font-weight: 600;
}
.hwr-panel-body {
  color: var(--ink-2);
  max-width: 62ch;
  margin-top: 0.55rem;
  font-size: 0.97rem;
  line-height: 1.75;
}
.hwr-facts {
  gap: 0.5rem;
  margin: 0.9rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.hwr-facts li {
  color: var(--ink-2);
  grid-template-columns: 1.05rem minmax(0, 1fr);
  gap: 0.45rem;
  font-size: 0.92rem;
  line-height: 1.65;
  display: grid;
}
.hwr-mark {
  font-size: 0.72rem;
  line-height: 1.75;
}
.hwr-links {
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 1rem;
  display: flex;
}
.hwb-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
  gap: 0.7rem;
  margin-top: 1rem;
  display: grid;
}
.hwb-card {
  border: 1px solid var(--line);
  color: inherit;
  background: #13110966;
  grid-template-columns: 5.2rem minmax(0, 1fr);
  align-items: start;
  gap: 0.85rem;
  padding: 0.7rem;
  text-decoration: none;
  transition:
    border-color 0.12s,
    background 0.12s;
  display: grid;
}
.hwb-card:hover {
  border-color: var(--gild);
  background: #c8a13c12;
}
.hwb-por {
  aspect-ratio: 1;
  border: 1px solid var(--line);
  background: #000;
  width: 5.2rem;
  position: relative;
  overflow: hidden;
}
.hwb-por img {
  object-fit: cover;
  object-position: center 34%;
  filter: saturate(0.72) contrast(1.06);
  width: 100%;
  height: 100%;
}
.hwb-name {
  color: var(--ink);
  font-size: 0.98rem;
  font-weight: 600;
  line-height: 1.35;
}
.hwb-where {
  font-family: var(--mono);
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: var(--gild);
  margin-top: 0.32rem;
  font-size: 0.58rem;
  display: block;
}
.hwb-note {
  color: var(--ink-2);
  margin-top: 0.4rem;
  font-size: 0.87rem;
  line-height: 1.55;
  display: block;
}
.hwr-caption {
  color: var(--ink-3);
  max-width: 76ch;
  margin-top: 1.4rem;
  font-size: 0.68rem;
  line-height: 1.8;
}
.cbi-lead {
  border-left: 2px solid var(--gild);
  margin-top: 1.8rem;
  padding: clamp(1.1rem, 3vw, 1.7rem);
}
.cbi-lead-eyebrow {
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gild);
  margin: 0;
  font-size: 0.6rem;
}
.cbi-lead-body {
  max-width: 68ch;
  margin: 0.7rem 0 0;
  font-size: 1.02rem;
  line-height: 1.72;
}
.cbi-jumps {
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 1.1rem 0 0;
  padding: 0;
  list-style: none;
  display: flex;
}
.cbi-jumps a {
  border: 1px solid var(--rule-strong);
  border-radius: var(--r-sm);
  min-height: 48px;
  font-family: var(--mono);
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: var(--ink-2);
  align-items: center;
  padding: 0.5rem 0.9rem;
  font-size: 0.62rem;
  text-decoration: none;
  transition:
    border-color 0.12s,
    color 0.12s;
  display: inline-flex;
}
.cbi-jumps a:hover {
  border-color: var(--gild);
  color: var(--gild-hi);
}
.cbi-lead-chips {
  margin: 1.1rem 0 0;
}
.cbc-filters {
  flex-wrap: wrap;
  gap: 0.9rem 1.7rem;
  margin-top: 1.5rem;
  padding: 1rem clamp(0.9rem, 2.5vw, 1.3rem);
  display: flex;
}
.cbc-group {
  flex-direction: column;
  gap: 0.5rem;
  display: flex;
}
.cbc-legend {
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-size: 0.58rem;
}
.cbc-btns {
  flex-wrap: wrap;
  gap: 0.4rem;
  display: flex;
}
.cbc-btns button {
  border: 1px solid var(--rule);
  border-radius: var(--r-sm);
  min-height: 48px;
  color: var(--ink-2);
  font-family: var(--mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
  background: 0 0;
  padding: 0.5rem 0.85rem;
  font-size: 0.63rem;
  transition:
    border-color 0.12s,
    background 0.12s,
    color 0.12s;
}
.cbc-btns button:hover {
  border-color: var(--rule-strong);
}
.cbc-btns button[aria-pressed="true"] {
  background: var(--gild-dim);
  border-color: var(--gild);
  color: var(--gild-hi);
}
.cbc-count {
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-3);
  margin: 1rem 0 0;
  font-size: 0.63rem;
}
.cbc-cards {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr));
  gap: 0.9rem;
  margin-top: 1rem;
  display: grid;
}
.cbc-card {
  flex-direction: column;
  gap: 0.65rem;
  padding: 1.1rem 1.2rem;
  display: flex;
}
.cbc-top {
  align-items: flex-start;
  gap: 0.8rem;
  display: flex;
}
.cbc-port {
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  object-fit: cover;
  flex: none;
}
.cbc-stance {
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-size: 0.6rem;
  display: block;
}
.cbc-title {
  margin-top: 0.25rem;
  font-size: 1.04rem;
  line-height: 1.3;
  display: block;
}
.cbc-premise {
  color: var(--ink-2);
  font-size: 0.89rem;
  line-height: 1.6;
}
.cbc-bar {
  gap: 2px;
  display: flex;
}
.cbc-bar i {
  background: var(--rule);
  border-radius: 1px;
  flex: 1;
  height: 4px;
}
.cbc-bar i.on {
  background: var(--gild);
}
.cbc-foot {
  margin-top: auto;
  padding-top: 0.5rem;
}
.cbc-by {
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-size: 0.62rem;
}
.stsp-swap {
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 1.4rem;
  display: flex;
}
.stsp-swap button {
  border: 1px solid var(--rule-strong);
  border-radius: var(--r-sm);
  min-height: 48px;
  color: var(--ink-2);
  font-family: var(--mono);
  letter-spacing: 0.11em;
  text-transform: uppercase;
  cursor: pointer;
  background: 0 0;
  padding: 0.55rem 1rem;
  font-size: 0.63rem;
  transition:
    background 0.12s,
    border-color 0.12s,
    color 0.12s;
}
.stsp-swap button[aria-pressed="true"] {
  background: var(--gild-dim);
  border-color: var(--gild);
  color: var(--gild-hi);
}
.stsp-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
  margin-top: 0.9rem;
  display: grid;
  overflow: hidden;
}
.stsp-grid > div {
  border-top: 2px solid var(--rule);
  padding: clamp(1.1rem, 3vw, 1.5rem);
  transition:
    border-color 0.16s,
    background 0.16s;
}
.stsp-grid > div[data-lead="true"] {
  border-top-color: var(--gild);
  background: #c8a13c0d;
}
.stsp-eyebrow {
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ink-3);
  margin: 0;
  font-size: 0.6rem;
}
.stsp-head {
  margin: 0.5rem 0 0;
  font-size: 1.05rem;
}
.stsp-points {
  margin: 0.9rem 0 0;
  padding-left: 1.1rem;
}
.stsp-points li {
  color: var(--ink-2);
  margin-bottom: 0.45rem;
  font-size: 0.9rem;
  line-height: 1.62;
}
.cbi-affixes {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 21rem), 1fr));
  gap: 0.8rem;
  margin-top: 1.5rem;
  display: grid;
}
.cbi-affix {
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.9rem;
  padding: 1.1rem 1.2rem;
  display: grid;
}
.cbi-affix-rank {
  letter-spacing: 0.12em;
  color: var(--gild);
  margin: 0.15rem 0 0;
  font-size: 0.72rem;
}
.cbi-affix-name {
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem;
  margin: 0;
  font-size: 1.02rem;
  display: flex;
}
.cbi-affix-flag {
  font-size: 0.55rem;
}
.cbi-affix-why {
  color: var(--ink-2);
  margin: 0.55rem 0 0;
  font-size: 0.89rem;
  line-height: 1.6;
}
.cbi-affix-from {
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--ink-3);
  overflow-wrap: anywhere;
  margin: 0.7rem 0 0;
  font-size: 0.58rem;
}
.cbi-by {
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-3);
  margin-top: 2.4rem;
  font-size: 0.64rem;
}
.cbi-by a {
  color: var(--ink-2);
  text-underline-offset: 3px;
  text-decoration: underline;
}
.cbi-index {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
  gap: 0.8rem;
  margin-top: 1.7rem;
  display: grid;
}
.cbi-index-card {
  flex-direction: column;
  gap: 0.45rem;
  padding: 1.05rem 1.15rem;
  display: flex;
}
.cbi-index-arch {
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-size: 0.58rem;
}
.cbi-index-name {
  font-size: 1.02rem;
}
.cbi-index-note {
  color: var(--ink-2);
  font-size: 0.82rem;
  line-height: 1.55;
}
@property --tw-rotate-x {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-x {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-y {
  syntax: "*";
  inherits: false;
}
@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-tracking {
  syntax: "*";
  inherits: false;
}
@property --tw-ordinal {
  syntax: "*";
  inherits: false;
}
@property --tw-slashed-zero {
  syntax: "*";
  inherits: false;
}
@property --tw-numeric-figure {
  syntax: "*";
  inherits: false;
}
@property --tw-numeric-spacing {
  syntax: "*";
  inherits: false;
}
@property --tw-numeric-fraction {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-ease {
  syntax: "*";
  inherits: false;
}
@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

/*
 * Mist, cold steel and aged gold sampled from the official battle artwork.
 * Exact coordinates and contrast measurements: docs/assets-audit.json.
 */
:root {
  --vellum: #100e0a;
  --vellum-2: #132225;
  --vellum-3: #494845;
  --panel: #132225;
  --ink: #e5e0dc;
  --ink-2: #a0a39a;
  --ink-3: #999c91;
  --gild: #d7bc87;
  --gild-hi: #e0cd95;
  --gild-dim: #d7bc8719;
  --rule: #a0a39a40;
  --rule-hi: #d7bc8780;
  --font-display: display, Georgia, serif;
  --font-body: body, Georgia, serif;
  --font-mono: mono, monospace;
}
html { scroll-behavior: smooth; scroll-padding-top: 9rem; }
body { background: var(--vellum); color: var(--ink); }
[hidden] { display: none !important; }
button, summary, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid var(--gild-hi); outline-offset: 4px; }
.skip-link { position: fixed; top: -5rem; left: 1rem; z-index: 1000; background: var(--gild); color: var(--vellum); padding: .7rem 1rem; }
.skip-link:focus { top: 1rem; }
.field-header { position: sticky; top: 0; z-index: 100; border-bottom: 1px solid var(--rule); background: #100e0af5; backdrop-filter: blur(16px); }
.field-header-top { min-height: 76px; display: flex; align-items: center; gap: 1.5rem; }
.field-brand { display: flex; align-items: center; gap: .8rem; flex: none; font: 600 .86rem var(--font-display); letter-spacing: .1em; text-transform: uppercase; color: var(--ink); }
.field-brand small { display: block; font: .58rem var(--font-mono); letter-spacing: .28em; color: var(--gild); margin-top: .4rem; }
.field-search { display: flex; margin-left: auto; width: min(35%, 28rem); border: 1px solid var(--rule); }
.field-search input { border: 0; background: transparent; min-width: 0; font-size: .9rem; padding: .6rem .8rem; }
.field-search button { border: 0; padding: 0 .8rem; color: var(--gild); font-size: 1.6rem; cursor: pointer; }
.field-languages { margin-left: auto; position: relative; font: .7rem var(--font-mono); }
.field-languages summary { cursor: pointer; list-style: none; padding: .5rem; }
.field-languages > div { position: absolute; right: 0; top: 100%; background: var(--vellum-2); border: 1px solid var(--rule); padding: .5rem; min-width: 10rem; display: grid; }
.field-languages a { padding: .7rem; }
.field-navigation { display: flex; gap: 2rem; border-top: 1px solid var(--rule); min-height: 45px; align-items: center; }
.field-navigation > details { position: relative; }
.field-navigation summary { list-style: none; cursor: pointer; font: 600 .7rem var(--font-display); text-transform: uppercase; letter-spacing: .1em; padding: .8rem 0; }
.field-navigation summary::after { content: "⌄"; margin-left: .5rem; color: var(--gild); }
.field-navigation details > div { position: absolute; top: 100%; left: 0; width: 15rem; max-height: 70vh; overflow: auto; background: var(--vellum-2); border: 1px solid var(--rule); padding: .5rem; display: grid; box-shadow: 0 12px 25px #0005; }
.field-navigation a { padding: .7rem .8rem; font-size: .96rem; }
.field-navigation a:hover, .field-languages a:hover { background: var(--gild-dim); color: var(--gild-hi); }
.field-navigation [aria-current], .field-languages [aria-current] { color: var(--gild); }
.field-menu-button { display: none; }
.field-faq summary { padding: 1.1rem 1.4rem; cursor: pointer; color: var(--ink); font: 600 1.02rem var(--font-display); }
.field-faq[open] summary { color: var(--gild); }
.field-faq > div { padding: 0 1.4rem 1.3rem; color: var(--ink-2); font-size: 1.02rem; }
.field-prose { max-width: 56rem; padding-block: 4rem; min-height: 60vh; }
.field-prose h1 { margin: 1rem 0 2rem; }
.field-prose section { margin-block: 2.5rem; }
.field-prose h2 { margin-bottom: 1rem; }
.field-prose p { margin-block: 1rem; }
.field-prose ul { padding-left: 1.5rem; list-style: disc; }
.field-prose a { color: var(--gild); text-decoration: underline; text-underline-offset: 3px; }
.field-contact { margin-top: 1.5rem; font: .75rem var(--font-mono); }
#main-content .wrap,
#main-content .wrap-narrow,
#main-content .wrap-wide { padding-inline: clamp(1rem, 3vw, 2.25rem) !important; }
.home-facts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.recovered-linkcard { position: relative; }
.recovered-linkcard-primary::after { content: ""; position: absolute; inset: 0; }
.recovered-linkcard a:not(.recovered-linkcard-primary) { position: relative; z-index: 2; }
@media (max-width: 800px) {
  .field-header-top { min-height: 68px; gap: .7rem; }
  .field-brand { font-size: .7rem; }
  .field-brand img { width: 32px; height: 32px; }
  .field-brand small { font-size: .5rem; }
  .field-search { display: none; }
  .field-menu-button { display: inline-flex; }
  .field-navigation { display: none; border: 0; padding-block: .6rem; max-height: 75vh; overflow: auto; }
  .field-navigation.is-open { display: block; }
  .field-navigation > details { border-top: 1px solid var(--rule); }
  .field-navigation details > div { position: static; width: 100%; border: 0; box-shadow: none; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .field-navigation summary { padding: 1rem 0; }
  html { scroll-padding-top: 5rem; }
}
@media (max-width: 640px) {
  .home-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1099px) {
  /* Keep all three atlas choices visible inside the clipped map panel. */
  #recovered-main-root .panel.cornered:has(img[src*="-atlas.webp"]) > div:first-child > .row {
    width: 100%;
    min-width: 0;
    flex-wrap: wrap;
  }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; }
  html { scroll-behavior: auto; }
}
