/*! tailwindcss v4.1.10 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: ui-sans-serif, system-ui, 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;
    --spacing: 0.25rem;
    --font-weight-normal: 400;
    --font-weight-bold: 700;
    --tracking-tighter: -0.05em;
    --tracking-tight: -0.025em;
    --tracking-wider: 0.05em;
    --tracking-widest: 0.1em;
    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --leading-relaxed: 1.625;
    --animate-ping: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
    --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
    --blur-md: 12px;
    --default-transition-duration: 150ms;
    --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, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, 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;
    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 {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :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)) {
        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, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities {
  .pointer-events-none {
    pointer-events: none;
  }
  .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .inset-0 {
    inset: calc(var(--spacing) * 0);
  }
  .top-0 {
    top: calc(var(--spacing) * 0);
  }
  .left-0 {
    left: calc(var(--spacing) * 0);
  }
  .z-10 {
    z-index: 10;
  }
  .z-50 {
    z-index: 50;
  }
  .mx-auto {
    margin-inline: auto;
  }
  .mt-1 {
    margin-top: calc(var(--spacing) * 1);
  }
  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }
  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }
  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }
  .mt-8 {
    margin-top: calc(var(--spacing) * 8);
  }
  .mt-space-md {
    margin-top: 1rem;
  }
  .mt-space-sm {
    margin-top: 0.5rem;
  }
  .mb-1 {
    margin-bottom: calc(var(--spacing) * 1);
  }
  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }
  .mb-space-lg {
    margin-bottom: 2rem;
  }
  .mb-space-md {
    margin-bottom: 1rem;
  }
  .mb-space-sm {
    margin-bottom: 0.5rem;
  }
  .mb-space-xl {
    margin-bottom: 4rem;
  }
  .mb-space-xs {
    margin-bottom: 0.25rem;
  }
  .block {
    display: block;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline-block {
    display: inline-block;
  }
  .inline-flex {
    display: inline-flex;
  }
  .h-1\.5 {
    height: calc(var(--spacing) * 1.5);
  }
  .h-2 {
    height: calc(var(--spacing) * 2);
  }
  .h-10 {
    height: calc(var(--spacing) * 10);
  }
  .h-16 {
    height: calc(var(--spacing) * 16);
  }
  .h-full {
    height: 100%;
  }
  .min-h-screen {
    min-height: 100vh;
  }
  .w-1\.5 {
    width: calc(var(--spacing) * 1.5);
  }
  .w-2 {
    width: calc(var(--spacing) * 2);
  }
  .w-10 {
    width: calc(var(--spacing) * 10);
  }
  .w-full {
    width: 100%;
  }
  .max-w-\[540px\] {
    max-width: 540px;
  }
  .max-w-\[600px\] {
    max-width: 600px;
  }
  .max-w-\[620px\] {
    max-width: 620px;
  }
  .max-w-\[640px\] {
    max-width: 640px;
  }
  .max-w-\[680px\] {
    max-width: 680px;
  }
  .max-w-\[1440px\] {
    max-width: 1440px;
  }
  .rotate-180 {
    rotate: 180deg;
  }
  .animate-ping {
    animation: var(--animate-ping);
  }
  .animate-pulse {
    animation: var(--animate-pulse);
  }
  .grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .flex-col {
    flex-direction: column;
  }
  .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;
  }
  .justify-end {
    justify-content: flex-end;
  }
  .gap-1 {
    gap: calc(var(--spacing) * 1);
  }
  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }
  .gap-gutter {
    gap: 1.5rem;
  }
  .gap-space-lg {
    gap: 2rem;
  }
  .gap-space-md {
    gap: 1rem;
  }
  .gap-space-sm {
    gap: 0.5rem;
  }
  .gap-space-xs {
    gap: 0.25rem;
  }
  .overflow-hidden {
    overflow: hidden;
  }
  .overflow-x-auto {
    overflow-x: auto;
  }
  .rounded {
    border-radius: 0.25rem;
  }
  .rounded-full {
    border-radius: calc(infinity * 1px);
  }
  .rounded-full {
    border-radius: 9999px;
  }
  .bg-inverse-surface {
    background-color: #e5e2e1;
  }
  .bg-primary {
    background-color: #ffb4ab;
  }
  .bg-primary-container {
    background-color: #ff544a;
  }
  .bg-secondary {
    background-color: #b9e82f;
  }
  .bg-surface-container {
    background-color: #201f1f;
  }
  .bg-surface-container-high {
    background-color: #2a2a2a;
  }
  .bg-surface-container-highest {
    background-color: #353534;
  }
  .bg-surface-container-low {
    background-color: #1c1b1b;
  }
  .bg-surface-container-lowest {
    background-color: #0e0e0e;
  }
  .bg-surface-container-lowest\/90 {
    background-color: color-mix(in oklab, #0e0e0e 90%, transparent);
  }
  .fill-surface-container-highest {
    fill: #353534;
  }
  .p-3 {
    padding: calc(var(--spacing) * 3);
  }
  .p-space-lg {
    padding: 2rem;
  }
  .p-space-md {
    padding: 1rem;
  }
  .p-space-sm {
    padding: 0.5rem;
  }
  .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-6 {
    padding-inline: calc(var(--spacing) * 6);
  }
  .px-8 {
    padding-inline: calc(var(--spacing) * 8);
  }
  .px-margin-mobile {
    padding-inline: 1.25rem;
  }
  .px-space-sm {
    padding-inline: 0.5rem;
  }
  .py-1 {
    padding-block: calc(var(--spacing) * 1);
  }
  .py-1\.5 {
    padding-block: calc(var(--spacing) * 1.5);
  }
  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }
  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }
  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }
  .py-space-2xl {
    padding-block: 7rem;
  }
  .py-space-md {
    padding-block: 1rem;
  }
  .py-space-sm {
    padding-block: 0.5rem;
  }
  .py-space-xl {
    padding-block: 4rem;
  }
  .pt-2 {
    padding-top: calc(var(--spacing) * 2);
  }
  .pt-16 {
    padding-top: calc(var(--spacing) * 16);
  }
  .pt-space-md {
    padding-top: 1rem;
  }
  .pt-space-sm {
    padding-top: 0.5rem;
  }
  .pt-space-xl {
    padding-top: 4rem;
  }
  .pt-space-xs {
    padding-top: 0.25rem;
  }
  .pb-2 {
    padding-bottom: calc(var(--spacing) * 2);
  }
  .pb-3 {
    padding-bottom: calc(var(--spacing) * 3);
  }
  .pb-space-2xl {
    padding-bottom: 7rem;
  }
  .pb-space-lg {
    padding-bottom: 2rem;
  }
  .pb-space-md {
    padding-bottom: 1rem;
  }
  .pb-space-sm {
    padding-bottom: 0.5rem;
  }
  .text-center {
    text-align: center;
  }
  .text-right {
    text-align: right;
  }
  .font-body-lg {
    font-family: Geist, Arial, sans-serif;
  }
  .font-body-md {
    font-family: Geist, Arial, sans-serif;
  }
  .font-body-sm {
    font-family: Geist, Arial, sans-serif;
  }
  .font-display-xl {
    font-family: Geist, Arial, sans-serif;
  }
  .font-display-xl-mobile {
    font-family: Geist, Arial, sans-serif;
  }
  .font-editorial-italic {
    font-family: Newsreader, Georgia, serif;
  }
  .font-headline-lg {
    font-family: Geist, Arial, sans-serif;
  }
  .font-headline-md {
    font-family: Geist, Arial, sans-serif;
  }
  .font-label-code {
    font-family: JetBrains Mono, ui-monospace, monospace;
  }
  .font-label-node {
    font-family: JetBrains Mono, ui-monospace, monospace;
  }
  .text-body-lg {
    font-size: 18px;
    line-height: var(--tw-leading, 28px);
    letter-spacing: var(--tw-tracking, -0.01em);
    font-weight: var(--tw-font-weight, 400);
  }
  .text-body-md {
    font-size: 15px;
    line-height: var(--tw-leading, 24px);
    letter-spacing: var(--tw-tracking, 0em);
    font-weight: var(--tw-font-weight, 400);
  }
  .text-body-sm {
    font-size: 13px;
    line-height: var(--tw-leading, 20px);
    letter-spacing: var(--tw-tracking, 0.01em);
    font-weight: var(--tw-font-weight, 400);
  }
  .text-display-xl {
    font-size: 72px;
    line-height: var(--tw-leading, 76px);
    letter-spacing: var(--tw-tracking, -0.04em);
    font-weight: var(--tw-font-weight, 600);
  }
  .text-display-xl-mobile {
    font-size: 40px;
    line-height: var(--tw-leading, 44px);
    letter-spacing: var(--tw-tracking, -0.03em);
    font-weight: var(--tw-font-weight, 600);
  }
  .text-editorial-italic {
    font-size: 26px;
    line-height: var(--tw-leading, 36px);
    letter-spacing: var(--tw-tracking, -0.01em);
    font-weight: var(--tw-font-weight, 400);
  }
  .text-headline-lg {
    font-size: 44px;
    line-height: var(--tw-leading, 48px);
    letter-spacing: var(--tw-tracking, -0.03em);
    font-weight: var(--tw-font-weight, 500);
  }
  .text-headline-md {
    font-size: 24px;
    line-height: var(--tw-leading, 30px);
    letter-spacing: var(--tw-tracking, -0.02em);
    font-weight: var(--tw-font-weight, 500);
  }
  .text-label-code {
    font-size: 12px;
    line-height: var(--tw-leading, 16px);
    letter-spacing: var(--tw-tracking, 0.04em);
    font-weight: var(--tw-font-weight, 500);
  }
  .text-label-node {
    font-size: 10px;
    line-height: var(--tw-leading, 12px);
    letter-spacing: var(--tw-tracking, 0.08em);
    font-weight: var(--tw-font-weight, 600);
  }
  .leading-none {
    --tw-leading: 1;
    line-height: 1;
  }
  .leading-relaxed {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
  }
  .leading-snug {
    --tw-leading: var(--leading-snug);
    line-height: var(--leading-snug);
  }
  .leading-tight {
    --tw-leading: var(--leading-tight);
    line-height: var(--leading-tight);
  }
  .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-tighter {
    --tw-tracking: var(--tracking-tighter);
    letter-spacing: var(--tracking-tighter);
  }
  .tracking-wider {
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
  }
  .tracking-widest {
    --tw-tracking: var(--tracking-widest);
    letter-spacing: var(--tracking-widest);
  }
  .whitespace-nowrap {
    white-space: nowrap;
  }
  .text-inverse-on-surface {
    color: #313030;
  }
  .text-on-primary {
    color: #690005;
  }
  .text-on-surface {
    color: #e5e2e1;
  }
  .text-on-surface-variant {
    color: #e4beb9;
  }
  .text-primary {
    color: #ffb4ab;
  }
  .text-primary-container {
    color: #ff544a;
  }
  .text-secondary {
    color: #b9e82f;
  }
  .text-surface-container {
    color: #201f1f;
  }
  .text-surface-variant {
    color: #353534;
  }
  .text-tertiary {
    color: #cac6be;
  }
  .text-tertiary-container {
    color: #a09d96;
  }
  .text-tertiary-fixed-dim {
    color: #cac6be;
  }
  .uppercase {
    text-transform: uppercase;
  }
  .italic {
    font-style: italic;
  }
  .antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  .opacity-20 {
    opacity: 20%;
  }
  .opacity-40 {
    opacity: 40%;
  }
  .opacity-60 {
    opacity: 60%;
  }
  .backdrop-blur-md {
    --tw-backdrop-blur: blur(var(--blur-md));
    -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-colors {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-opacity {
    transition-property: opacity;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .duration-200 {
    --tw-duration: 200ms;
    transition-duration: 200ms;
  }
  .duration-300 {
    --tw-duration: 300ms;
    transition-duration: 300ms;
  }
  .select-none {
    -webkit-user-select: none;
    user-select: none;
  }
  .\[writing-mode\:vertical-rl\] {
    writing-mode: vertical-rl;
  }
  .selection\:bg-primary-container {
    & *::selection {
      background-color: #ff544a;
    }
    &::selection {
      background-color: #ff544a;
    }
  }
  .selection\:text-on-primary-container {
    & *::selection {
      color: #5c0004;
    }
    &::selection {
      color: #5c0004;
    }
  }
  .hover\:bg-primary-container {
    &:hover {
      @media (hover: hover) {
        background-color: #ff544a;
      }
    }
  }
  .hover\:bg-secondary {
    &:hover {
      @media (hover: hover) {
        background-color: #b9e82f;
      }
    }
  }
  .hover\:bg-surface-container {
    &:hover {
      @media (hover: hover) {
        background-color: #201f1f;
      }
    }
  }
  .hover\:bg-surface-container-high {
    &:hover {
      @media (hover: hover) {
        background-color: #2a2a2a;
      }
    }
  }
  .hover\:text-on-primary-container {
    &:hover {
      @media (hover: hover) {
        color: #5c0004;
      }
    }
  }
  .hover\:text-on-secondary {
    &:hover {
      @media (hover: hover) {
        color: #273500;
      }
    }
  }
  .hover\:text-on-surface {
    &:hover {
      @media (hover: hover) {
        color: #e5e2e1;
      }
    }
  }
  .hover\:text-primary {
    &:hover {
      @media (hover: hover) {
        color: #ffb4ab;
      }
    }
  }
  .hover\:opacity-80 {
    &:hover {
      @media (hover: hover) {
        opacity: 80%;
      }
    }
  }
  .sm\:flex {
    @media (width >= 40rem) {
      display: flex;
    }
  }
  .sm\:inline {
    @media (width >= 40rem) {
      display: inline;
    }
  }
  .sm\:w-auto {
    @media (width >= 40rem) {
      width: auto;
    }
  }
  .sm\:grid-cols-3 {
    @media (width >= 40rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .sm\:flex-row {
    @media (width >= 40rem) {
      flex-direction: row;
    }
  }
  .sm\:items-center {
    @media (width >= 40rem) {
      align-items: center;
    }
  }
  .md\:col-span-1 {
    @media (width >= 48rem) {
      grid-column: span 1 / span 1;
    }
  }
  .md\:col-span-2 {
    @media (width >= 48rem) {
      grid-column: span 2 / span 2;
    }
  }
  .md\:col-span-3 {
    @media (width >= 48rem) {
      grid-column: span 3 / span 3;
    }
  }
  .md\:col-span-5 {
    @media (width >= 48rem) {
      grid-column: span 5 / span 5;
    }
  }
  .md\:col-span-6 {
    @media (width >= 48rem) {
      grid-column: span 6 / span 6;
    }
  }
  .md\:col-span-7 {
    @media (width >= 48rem) {
      grid-column: span 7 / span 7;
    }
  }
  .md\:col-span-11 {
    @media (width >= 48rem) {
      grid-column: span 11 / span 11;
    }
  }
  .md\:col-span-12 {
    @media (width >= 48rem) {
      grid-column: span 12 / span 12;
    }
  }
  .md\:col-start-1 {
    @media (width >= 48rem) {
      grid-column-start: 1;
    }
  }
  .md\:col-start-7 {
    @media (width >= 48rem) {
      grid-column-start: 7;
    }
  }
  .md\:mt-0 {
    @media (width >= 48rem) {
      margin-top: calc(var(--spacing) * 0);
    }
  }
  .md\:flex {
    @media (width >= 48rem) {
      display: flex;
    }
  }
  .md\:w-auto {
    @media (width >= 48rem) {
      width: auto;
    }
  }
  .md\:grid-cols-2 {
    @media (width >= 48rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .md\:grid-cols-12 {
    @media (width >= 48rem) {
      grid-template-columns: repeat(12, minmax(0, 1fr));
    }
  }
  .md\:flex-row {
    @media (width >= 48rem) {
      flex-direction: row;
    }
  }
  .md\:items-center {
    @media (width >= 48rem) {
      align-items: center;
    }
  }
  .md\:items-end {
    @media (width >= 48rem) {
      align-items: flex-end;
    }
  }
  .md\:justify-end {
    @media (width >= 48rem) {
      justify-content: flex-end;
    }
  }
  .md\:p-space-lg {
    @media (width >= 48rem) {
      padding: 2rem;
    }
  }
  .md\:px-margin {
    @media (width >= 48rem) {
      padding-inline: 3rem;
    }
  }
  .md\:pt-0 {
    @media (width >= 48rem) {
      padding-top: calc(var(--spacing) * 0);
    }
  }
  .md\:text-display-xl {
    @media (width >= 48rem) {
      font-size: 72px;
      line-height: var(--tw-leading, 76px);
      letter-spacing: var(--tw-tracking, -0.04em);
      font-weight: var(--tw-font-weight, 600);
    }
  }
  .md\:text-headline-lg {
    @media (width >= 48rem) {
      font-size: 44px;
      line-height: var(--tw-leading, 48px);
      letter-spacing: var(--tw-tracking, -0.03em);
      font-weight: var(--tw-font-weight, 500);
    }
  }
  .lg\:col-span-4 {
    @media (width >= 64rem) {
      grid-column: span 4 / span 4;
    }
  }
  .lg\:col-span-5 {
    @media (width >= 64rem) {
      grid-column: span 5 / span 5;
    }
  }
  .lg\:col-span-6 {
    @media (width >= 64rem) {
      grid-column: span 6 / span 6;
    }
  }
  .lg\:col-span-7 {
    @media (width >= 64rem) {
      grid-column: span 7 / span 7;
    }
  }
  .lg\:col-span-8 {
    @media (width >= 64rem) {
      grid-column: span 8 / span 8;
    }
  }
  .lg\:col-span-9 {
    @media (width >= 64rem) {
      grid-column: span 9 / span 9;
    }
  }
  .lg\:mt-0 {
    @media (width >= 64rem) {
      margin-top: calc(var(--spacing) * 0);
    }
  }
  .lg\:grid-cols-2 {
    @media (width >= 64rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .lg\:grid-cols-4 {
    @media (width >= 64rem) {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }
  .lg\:grid-cols-6 {
    @media (width >= 64rem) {
      grid-template-columns: repeat(6, minmax(0, 1fr));
    }
  }
  .lg\:grid-cols-12 {
    @media (width >= 64rem) {
      grid-template-columns: repeat(12, minmax(0, 1fr));
    }
  }
  .lg\:items-end {
    @media (width >= 64rem) {
      align-items: flex-end;
    }
  }
  .lg\:justify-end {
    @media (width >= 64rem) {
      justify-content: flex-end;
    }
  }
  .lg\:p-space-lg {
    @media (width >= 64rem) {
      padding: 2rem;
    }
  }
  .lg\:pt-0 {
    @media (width >= 64rem) {
      padding-top: calc(var(--spacing) * 0);
    }
  }
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-tracking {
  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;
}
@keyframes ping {
  75%, 100% {
    transform: scale(2);
    opacity: 0;
  }
}
@keyframes pulse {
  50% {
    opacity: 0.5;
  }
}
@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-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: 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;
    }
  }
}

/* The original design tokens live in tailwind.config.cjs.
   This layer adds responsive behavior, accessibility and intentional motion. */
:root {
  color-scheme: dark;
  --ia-bg: #0e0e0e; --ia-surface: #201f1f;
  --ia-text: #e5e2e1; --ia-muted: #a09d96;
  --ia-coral: #ff544a; --ia-lime: #c4f33b;
  --ia-ease: cubic-bezier(.22, 1, .36, 1);
}
html { scroll-behavior: smooth; scroll-padding-top: 0px; }
body { margin: 0; min-width: 280px; overflow-x: clip; }
body, button, input { -webkit-font-smoothing: antialiased; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
button:disabled { cursor: default; }
a, button { touch-action: manipulation; }
[hidden] { display: none !important; }
::selection { background: #ff544a; color: #0e0e0e; }
:focus-visible { outline: 2px solid var(--ia-lime); outline-offset: 5px; }
#main-content:focus { outline: none; }
.section { scroll-margin-top: 82px; }
.icon { width: 19px; height: 19px; flex: 0 0 19px; display: inline-block; }
.arrow-icon { transition: transform 200ms var(--ia-ease); }
a:hover > .arrow-icon, button:hover > .arrow-icon { transform: translate(2px,-2px); }
.skip-link { position: fixed; top: -100px; left: 20px; z-index: 200; padding: 12px 20px; background: var(--ia-lime); color: #0e0e0e; font-weight: 600; }
.skip-link:focus { top: 12px; }
.code-label { font: 500 11px/1.6 'JetBrains Mono', ui-monospace, monospace; letter-spacing: .06em; text-transform: uppercase; }
.lime { color: var(--ia-lime); } .coral { color: var(--ia-coral); }
header { border-bottom: 1px solid transparent; transition: border-color 200ms; }
header.is-scrolled { border-color: #ffffff14; }
header > div { gap: 20px; }
header > div > div:first-child { gap: 32px; }
header > div > div:last-child { gap: 16px; }
.primary-nav { display: flex; gap: 20px; align-items: center; }
.nav-link { position: relative; display: inline-flex; align-items: center; min-height: 44px; font: 400 13px/1.2 'Geist', Arial, sans-serif; color: #a09d96; transition: color 180ms; }
.nav-link::after { content: ''; position: absolute; width: 3px; height: 3px; border-radius: 50%; background: var(--ia-coral); bottom: 5px; left: 50%; opacity: 0; }
.nav-link:hover, .nav-link[aria-current] { color: var(--ia-text); }
.nav-link[aria-current]::after { opacity: 1; }
.header-status { display: flex; align-items: center; gap: 8px; font: 500 10px/1.2 'JetBrains Mono', monospace; text-transform: uppercase; color: #b3afa7; white-space: nowrap; }
.header-contact { width: 32px; height: 32px; border-radius: 50%; background: #ffb4ab; color: #390300; display: flex; justify-content: center; align-items: center; }
.motion-toggle { min-height: 44px; display: inline-flex; align-items: center; gap: 8px; color: #a09d96; font: 500 10px/1.2 'JetBrains Mono',monospace; text-transform: uppercase; white-space: nowrap; }
.motion-toggle:hover { color: var(--ia-text); }
.motion-icon { font-size: 12px; width: 10px; }
.menu-toggle { display: none; }
.hero-section { padding-top: 64px; padding-bottom: 112px; }
.hero-title { font: 600 clamp(48px, 5.1vw, 76px)/1.02 'Geist', Arial, sans-serif; letter-spacing: -.04em; margin: 0; }
.hero-title > span, .hero-title > em { display: block; }
.font-editorial-italic { font-style: italic; }
.hero-title > em { font-family: 'Newsreader', Georgia, serif; font-weight: 400; color: #cac6be; }
.hero-identity { max-width: 100%; text-align: left; flex-wrap: wrap; border: 1px solid #ffffff06; }
.hero-section .relative.z-10:first-of-type { gap: 16px; }
.hero-section .text-tertiary-container { color: #a09d96; }
.hero-section .md\:col-span-5 button, .hero-section .md\:col-span-5 a { min-height: 44px; }
.project-card { border: 1px solid #ffffff05; transition: background-color 240ms, border-color 240ms; }
.project-card:hover { border-color: #ffffff18; }
.project-card button { text-align: left; min-height: 44px; }
.project-card .font-label-code { overflow-wrap: anywhere; }
.project-card .grid-cols-3 > div { min-width: 0; }
.metric-note { color: #a09d96; font: 400 11px/1.6 'JetBrains Mono', monospace; margin: 18px 0 0; }
.topology-svg { width: 100%; height: auto; display: block; min-height: 250px; }
.topology-mobile { display: none; }
.topology-box { background: #2a2a2a; border: 1px solid #ffffff09; text-align: center; padding: 14px 8px; font: 500 12px/1.3 'JetBrains Mono',monospace; }
.topology-box small { display: block; color: #b5b1aa; font-size: 10px; margin-top: 6px; }
.topology-connector { display: block; margin: 0 auto; width: 1px; height: 24px; background: #c4f33870; }
.topology-connector.coral-line { background: #ff544a80; }
.topology-branches { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.dot-board { position: relative; width: 100%; height: 500px; margin-top: 28px; background: #0e0e0e; border: 1px solid #ffffff0a; border-radius: 4px; isolation: isolate; }
.game-lines { position: absolute; width: 100%; height: 100%; inset: 0; overflow: visible; pointer-events: none; }
.game-line { stroke: var(--ia-lime); stroke-width: 1.5; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.dot-buttons { position: absolute; inset: 0; }
.dot-node { position: absolute; width: 48px; height: 48px; padding: 0; margin: -24px 0 0 -24px; left: var(--x); top: var(--y); border: none; border-radius: 50%; background: transparent; display: grid; place-items: center; color: #e5e2e1; }
.dot-node::before { content: ''; position: absolute; inset: 8px; border-radius: 50%; background: transparent; border: 1px solid transparent; transition: border-color 160ms, background-color 160ms; }
.dot-node:hover::before, .dot-node:focus-visible::before { background: #ffffff09; border-color: #ffffff30; }
.dot-node[data-state="next"]::before { border-color: #c4f33b65; }
.dot-circle { width: 10px; height: 10px; border-radius: 50%; background: currentColor; transition: transform 200ms var(--ia-ease), background-color 180ms; }
.dot-node:hover .dot-circle { transform: scale(1.25); }
.dot-node[data-state="connected"] { color: var(--ia-lime); }
.dot-node[data-state="connected"] .dot-circle { transform: scale(1.35); }
.dot-node[data-step="11"] { color: var(--ia-coral); }
.dot-node[data-step="11"][data-state="connected"] { color: var(--ia-lime); }
.dot-number { position: absolute; top: -3px; left: 0; width: 100%; text-align: center; font: 600 11px/1.2 'JetBrains Mono',monospace; letter-spacing: .05em; }
.dot-label { position: absolute; top: 42px; left: 50%; transform: translateX(-50%); font: 500 10px/1.2 'JetBrains Mono',monospace; letter-spacing: .05em; text-transform: uppercase; white-space: nowrap; opacity: 0; color: var(--ia-lime); transition: opacity 220ms; pointer-events: none; }
.dot-node[data-state="connected"] .dot-label { opacity: 1; }
.dot-node[data-hint="true"]::before { border-color: var(--ia-coral); background: #ff544a12; }
.game-board-coordinate { position: absolute; top: 18px; left: 18px; pointer-events: none; color: #77746e; font: 500 9px/1.5 'JetBrains Mono',monospace; letter-spacing: .13em; }
.game-meta { display: flex; align-items: center; gap: 18px; margin-top: 18px; color: #a09d96; flex-wrap: wrap; }
.game-progress { width: 110px; height: 2px; background: #ffffff12; }
#game-progress-bar { display: block; height: 100%; width: 0; background: var(--ia-lime); transition: width 220ms var(--ia-ease); }
.game-completion { position: absolute; z-index: 5; inset: 0; display: flex; align-items: center; justify-content: center; flex-direction: column; text-align: center; background: #0e0e0eef; backdrop-filter: blur(6px); padding: 24px; }
.game-completion h3 { margin-top: 16px; font: 600 clamp(42px, 6vw, 72px)/1.05 'Geist',Arial,sans-serif; letter-spacing: -.04em; }
.game-completion p { margin: 16px 0 28px; font: italic 400 27px/1.3 'Newsreader',Georgia,serif; color: #cac6be; }
.completion-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.button-light { background: #e5e2e1; color: #242322; padding: 14px 18px; display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 44px; font: 500 11px/1.4 'JetBrains Mono',monospace; text-transform: uppercase; letter-spacing: .04em; transition: background-color 180ms; }
.button-light:hover { background: var(--ia-lime); }
.button-quiet { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; font: 500 11px/1.4 'JetBrains Mono',monospace; text-transform: uppercase; letter-spacing: .04em; color: #cac6be; }
.button-quiet:hover { color: var(--ia-lime); }
#game-status-tracker { min-width: 165px; justify-content: space-between; }
#next-dot-display { font-variant-numeric: tabular-nums; }
.no-script-notice { margin: 16px 0; font-size: 13px; color: var(--ia-muted); }
.story-row { border-top: 1px solid #ffffff04; }
.story-row > div:first-child { position: relative; padding-left: 18px; }
.story-row > div:first-child::before { content: ''; position: absolute; left: 0; top: 5px; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.lab-card { border: 1px solid #ffffff05; }
.essay-row { display: flex; justify-content: space-between; align-items: center; gap: 18px; text-align: left; width: 100%; padding: 18px 4px; border-bottom: 1px solid #ffffff0c; }
.essay-title { font-size: 18px; line-height: 1.5; }
.essay-row .code-label { font-size: 9px; color: #a09d96; margin-top: 5px; display: block; }
.essay-row button { text-align: left; }
button.essay-row:hover .essay-title { color: var(--ia-coral); }
.draft-label { display: inline-block; margin-top: 8px; font: 500 9px/1.5 'JetBrains Mono',monospace; color: #a09d96; letter-spacing: .06em; text-transform: uppercase; }
.essay-row > .draft-label { flex-shrink: 0; border: 1px solid #ffffff15; padding: 3px 7px; margin: 0; }
.writing-status { font-size: 10px; color: #a09d96; }
.poem-card { min-height: 340px; }
.poem-card h3 { font: 500 24px/1.3 'Geist',Arial,sans-serif; }
.poem-excerpt { white-space: pre-line; font: italic 400 26px/1.45 'Newsreader',Georgia,serif; color: #cac6be; margin: 44px 0; padding-left: 16px; }
.poem-empty { font: italic 400 32px/1.3 'Newsreader',Georgia,serif; color: #cac6be; margin: 48px 0 16px; }
.poem-placeholder-note { font-size: 13px; line-height: 1.7; color: #a09d96; max-width: 260px; }
.detail-dialog { width: min(740px, calc(100% - 32px)); max-height: min(88vh, 980px); margin: auto; padding: 0; background: #171716; color: #e5e2e1; border: 1px solid #ffffff20; overflow-y: auto; overscroll-behavior: contain; }
.detail-dialog::backdrop { background: #000b; backdrop-filter: blur(4px); }
.detail-shell { padding: clamp(24px,5vw,48px); }
.dialog-close { display: flex; align-items: center; justify-content: flex-end; gap: 14px; margin-left: auto; margin-top: -12px; min-height: 44px; color: #cac6be; font: 500 11px/1.4 'JetBrains Mono',monospace; text-transform: uppercase; }
.dialog-close span { font-size: 26px; font-weight: 300; }
.detail-dialog h2 { font: 600 40px/1.1 'Geist',Arial,sans-serif; letter-spacing: -.04em; margin: 16px 0; }
.detail-dialog .detail-hook { font: italic 400 26px/1.3 'Newsreader',Georgia,serif; color: #cac6be; margin: 20px 0; }
.detail-dialog h3 { font: 500 11px/1.4 'JetBrains Mono',monospace; text-transform: uppercase; color: var(--ia-lime); margin: 28px 0 12px; letter-spacing: .06em; }
.detail-dialog p, .detail-dialog li { font-size: 15px; line-height: 1.7; color: #c4c1ba; }
.detail-dialog ul { list-style: disc; padding-left: 19px; display: grid; gap: 10px; }
.detail-dialog .detail-stack { background: #242322; padding: 16px; margin-top: 28px; font: 400 12px/1.8 'JetBrains Mono',monospace; }
.detail-dialog .poetry-full { white-space: pre-wrap; font: italic 400 26px/1.7 'Newsreader',Georgia,serif; }
.detail-dialog .detail-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.detail-dialog .detail-note { font-size: 12px; color: #a09d96; margin-top: 24px; }
#copy-status:not(.sr-only) { font-size: 12px; }
.animate-pulse { animation-duration: 3.8s; }
.animate-ping { animation-duration: 3.2s; }
@media (min-width: 1441px) { .hero-title { font-size: 76px; } }
@media (max-width: 1200px) {
  .primary-nav { gap: 14px; }
  header > div > div:first-child { gap: 24px; }
  .motion-label { display: none; }
  .header-contact { display: none; }
}
@media (max-width: 1023px) {
  .primary-nav { position: absolute; top: 64px; left: 0; right: 0; display: none; padding: 12px 24px 24px; flex-direction: column; align-items: stretch; gap: 0; background: #111110fa; border-bottom: 1px solid #ffffff15; backdrop-filter: blur(16px); }
  .primary-nav.is-open { display: flex; }
  .primary-nav .nav-link { min-height: 48px; font-size: 15px; border-bottom: 1px solid #ffffff08; }
  .primary-nav .nav-link::after { left: auto; right: 4px; bottom: 22px; }
  .menu-toggle { display: flex; min-width: 66px; min-height: 44px; align-items: center; gap: 14px; font: 500 11px/1.2 'JetBrains Mono',monospace; text-transform: uppercase; }
  .menu-symbol { font: 300 22px/1 'Geist',Arial,sans-serif; }
  .hero-title { font-size: 64px; }
  .topology-svg { min-height: 210px; }
}
@media (max-width: 767px) {
  header > div { gap: 12px; } header > div > div:last-child { gap: 14px; }
  .hero-section { padding-top: 36px; padding-bottom: 64px; }
  .hero-title { font-size: clamp(43px,9.8vw,64px); }
  .hero-identity { gap: 6px; font-size: 9px; line-height: 1.65; padding: 7px 10px; border-radius: 3px; }
  .hero-section p { font-size: 16px; line-height: 1.8; }
  .hero-section .md\:col-span-5 { flex-direction: row; flex-wrap: wrap; align-items: center; }
  .section.py-space-2xl { padding-block: 64px; }
  .section .text-headline-lg { font-size: 32px; line-height: 1.18; }
  .section .text-editorial-italic { font-size: 24px; line-height: 1.45; }
  .section .text-body-lg { font-size: 16px; line-height: 1.75; }
  .section .text-display-xl { font-size: 48px; line-height: 1.1; }
  .section:not(.hero-section) .justify-between > .font-label-node { text-align: right; max-width: 46%; }
  .project-card.p-space-lg { padding: 24px; }
  .project-card .font-display-xl-mobile { font-size: 34px; line-height: 1.2; }
  .topology-svg { display: none; }
  .topology-mobile { display: block; }
  .dot-board { height: 456px; }
  .dot-node { left: var(--mx); top: var(--my); }
  .game-board-coordinate { font-size: 8px; top: 12px; left: 12px; }
  .game-meta { gap: 12px; }
  .game-completion p { font-size: 24px; }
  .completion-actions { flex-direction: column; }
  .game-progress { width: 78px; }
  #game-section > div > .flex:first-child { align-items: flex-start; gap: 12px; }
  #game-section > div > .flex:first-child > .flex { flex-wrap: wrap; max-width: 60%; }
  #reset-dots-btn { min-height: 44px; white-space: nowrap; font-size: 10px; }
  .story-row { margin-left: 4px; padding-left: 20px; border-left: 1px solid #49473f; position: relative; gap: 8px; padding-top: 22px; padding-bottom: 22px; }
  .story-row > div:first-child { padding-left: 0; }
  .story-row > div:first-child::before { left: -23px; width: 5px; height: 5px; }
  .essay-title { font-size: 16px; }
  .poem-card { min-height: 330px; padding: 24px; }
}
@media (max-width: 379px) {
  .header-status { display: none; }
  .hero-title { font-size: 42px; }
  .hero-section .font-label-code { font-size: 10px; }
  .project-card.p-space-lg { padding: 18px; }
  .project-card .grid-cols-3 { gap: 7px; }
  .project-card .grid-cols-3 .font-label-node { font-size: 9px; line-height: 1.6; }
  .dot-label { font-size: 9px; letter-spacing: 0; }
  .essay-row { gap: 10px; }
}
html[data-motion="off"] { scroll-behavior: auto; }
html[data-motion="off"] *, html[data-motion="off"] *::before, html[data-motion="off"] *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media print {
  header, .skip-link, .motion-toggle, #game-section, #copy-email, .dialog-close { display: none !important; }
  body, main, .section, .detail-dialog { color: #151515 !important; background: white !important; }
  main { padding-top: 0 !important; }
  .section { padding-block: 24px !important; }
  body:has(dialog[open]) > :not(dialog) { display: none !important; }
  .detail-dialog[open] { position: static; display: block; max-height: none; width: 100%; overflow: visible; border: none; }
  .detail-dialog p, .detail-dialog li, .detail-dialog h3 { color: #222 !important; }
  .detail-actions { display: none !important; }
}

/* V2: quieter work, overlapping experience, a drawn signature and live details. */
.section-kicker { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:30px; }
.muted { color:var(--ia-muted); }
.work-heading, .story-intro { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:48px; margin-bottom:34px; }
.work-heading h2, .story-intro h2, .perspective-grid h2, .game-heading h2 { font:500 clamp(28px,3.2vw,44px)/1.12 'Geist',Arial,sans-serif; letter-spacing:-.035em; }
.work-heading p, .story-intro p, .game-heading p { color:#b4b0aa; font-size:15px; line-height:1.8; max-width:580px; }
.work-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.work-card { display:flex; flex-direction:column; padding:30px; background:var(--ia-surface); border:1px solid #ffffff0a; border-top:2px solid #ffffff12; min-width:0; }
.work-card:hover { background:#252422; border-top-color:var(--ia-coral); }
.work-card[data-project-card="fitxn"]:hover, .work-card[data-project-card="balancee"]:hover { border-top-color:var(--ia-lime); }
.work-card-top { display:flex; justify-content:space-between; gap:20px; align-items:center; margin-bottom:24px; }
.work-category { color:#b5b1aa; font-size:10px; }
.work-number { font:500 11px/1 'JetBrains Mono',monospace; color:var(--ia-coral); }
.work-card h3 { font:500 28px/1.2 'Geist',Arial,sans-serif; letter-spacing:-.03em; }
.work-hook { font:italic 400 25px/1.3 'Newsreader',Georgia,serif; color:#d1cdc5; margin-top:10px; }
.work-description { font-size:14px; line-height:1.8; color:#b4b0aa; margin-top:16px; max-width:520px; }
.work-card-bottom { margin-top:auto; padding-top:24px; display:grid; grid-template-columns:1fr auto; gap:10px 16px; align-items:end; }
.work-role { grid-column:1/-1; font-size:12px; color:#d0ccc5; }
.work-tags { display:flex; flex-wrap:wrap; gap:6px; }
.work-tags span { font:400 9px/1.5 'JetBrains Mono',monospace; text-transform:uppercase; color:#a9a69e; border:1px solid #ffffff15; padding:4px 6px; }
.work-detail { color:var(--ia-text); font:500 10px/1.2 'JetBrains Mono',monospace; text-transform:uppercase; display:inline-flex; gap:12px; justify-content:space-between; align-items:center; min-height:44px; white-space:nowrap; }
.work-detail span { font-size:20px; transition:transform 180ms var(--ia-ease); }
.work-detail:hover span { transform:translate(2px,-2px); }
.work-archive { display:flex; justify-content:end; padding-top:16px; }
.story-intro { align-items:start; }
.story-intro h2 { max-width:380px; }
.story-threads { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; }
.story-thread { border-top:1px solid #ffffff1c; padding-top:26px; }
.thread-label { color:var(--ia-coral); position:relative; padding-left:17px; }
.thread-label::before { content:''; position:absolute; width:5px; height:5px; border-radius:50%; left:0; top:4px; background:currentColor; }
.story-thread h3 { font-size:19px; line-height:1.4; margin:20px 0 12px; letter-spacing:-.02em; }
.story-thread p { color:#b4b0aa; font-size:14px; line-height:1.8; }
.perspective-section { padding-block:64px; }
.perspective-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; }
.perspective-grid h2 { max-width:420px; }
.perspective-quote { font:italic 400 25px/1.4 'Newsreader',Georgia,serif; color:#cac6be; max-width:350px; margin-top:24px; }
.perspective-copy { display:grid; align-content:center; gap:16px; }
.perspective-copy p { font-size:15px; line-height:1.85; color:#c4c0b8; }
.game-heading { display:flex; justify-content:space-between; gap:36px; align-items:end; }
.game-heading p { max-width:660px; margin-top:18px; }
#game-status-tracker { display:flex; gap:22px; background:#0e0e0e; padding:14px 18px; align-items:center; flex-shrink:0; }
#next-dot-display { font:500 26px/1.1 'JetBrains Mono',monospace; color:var(--ia-lime); white-space:nowrap; }
.signature-board { height:440px; background-color:#111110; background-image:radial-gradient(#ffffff10 .6px,transparent .6px); background-size:22px 22px; }
.signature-board .dot-label { display:none; }
.signature-board .dot-node[data-step="11"] { color:var(--ia-text); }
.signature-board .dot-node[data-state="connected"] { color:var(--ia-lime); }
.signature-board .dot-node:last-child { color:var(--ia-coral); }
.signature-board[data-complete="true"] .dot-number { display:none; }
.signature-board[data-complete="true"] .dot-circle { transform:scale(.75); }
.signature-board[data-complete="true"] .dot-node:last-child .dot-circle { transform:scale(1.6); }
.signature-board[data-complete="true"] .game-line { stroke-width:3; }
.signature-board[data-complete="true"] .dot-node { pointer-events:none; }
.signature-board .dot-node { transition:none; }
.signature-caption { position:absolute; left:0; right:0; bottom:24px; text-align:center; font:500 10px/1.5 'JetBrains Mono',monospace; letter-spacing:.14em; color:#aaa59c; }
.signature-completion { border-top:1px solid #ffffff14; margin-top:28px; padding-top:26px; display:flex; justify-content:space-between; gap:30px; align-items:center; }
.signature-completion h3 { font:500 26px/1.3 'Geist',Arial,sans-serif; letter-spacing:-.02em; }
.signature-completion p { color:#b4b0aa; font-size:14px; line-height:1.7; margin-top:6px; }
.game-shortcut { margin-left:auto; font:400 10px/1.5 'JetBrains Mono',monospace; color:#a09d96; }
.header-clock { display:flex; align-items:center; gap:8px; white-space:nowrap; font:400 11px/1.2 'JetBrains Mono',monospace; color:var(--ia-text); }
.clock-location { color:#a09d96; }
.clock-zone { font-size:9px; color:#a09d96; }
[data-local-clock] { font-variant-numeric:tabular-nums; }
.now-clock { display:grid; grid-template-columns:1fr; gap:10px; margin:24px 0; border-block:1px solid #ffffff14; padding-block:24px; }
.now-clock time { font:400 clamp(32px,4vw,48px)/1 'JetBrains Mono',monospace; letter-spacing:-.05em; color:var(--ia-text); }
.now-clock .code-label { color:var(--ia-lime); font-size:9px; }
.clock-date { color:#a09d96; font-size:12px; }
.listening-card { background:#201f1f; padding:22px; }
.listening-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
#listening-status { font-size:10px; color:#b7b3ac; }
.listening-card[data-status="playing"] #listening-status { color:var(--ia-lime); }
.listening-body { display:flex; align-items:center; gap:18px; }
.listening-info { min-width:0; }
.listening-info h4 { font-size:18px; line-height:1.4; letter-spacing:-.015em; overflow-wrap:anywhere; }
.listening-info p { font-size:13px; line-height:1.65; color:#b4b0aa; margin-top:4px; overflow-wrap:anywhere; }
#listening-album { font-size:11px; }
#listening-art-link { flex-shrink:0; }
#listening-art { display:block; width:72px; height:72px; object-fit:contain; border-radius:4px; }
.listening-footer { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:16px; }
#spotify-attribution { display:flex; align-items:center; min-width:96px; }
#spotify-attribution img { display:block; width:96px; height:36px; object-fit:contain; }
#lastfm-attribution { color:#b4b0aa; font-size:10px; }
.listening-note { font:400 9px/1.6 'JetBrains Mono',monospace; color:#a09d96; letter-spacing:.03em; margin-top:12px; }
.listening-bars { display:flex; align-items:center; height:16px; gap:3px; }
.listening-bars i { width:2px; height:3px; background:#77746e; transform-origin:bottom; }
.listening-card[data-status="playing"] .listening-bars i { background:var(--ia-lime); height:10px; animation:music-bar 1.4s ease-in-out infinite alternate; }
.listening-card[data-status="playing"] .listening-bars i:nth-child(2) { animation-delay:-.4s; }
.listening-card[data-status="playing"] .listening-bars i:nth-child(3) { animation-delay:-.8s; }
.listening-card[data-status="playing"] .listening-bars i:nth-child(4) { animation-delay:-1.2s; }
@keyframes music-bar { from {transform:scaleY(.3)} to {transform:scaleY(1)} }
@media(max-width:1023px){
 .story-threads { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
 .work-card { padding:24px; }
 .perspective-grid { gap:32px; }
 .header-clock { margin-left:auto; }
}
@media(max-width:767px){
 .section-kicker { gap:12px; margin-bottom:26px; }
 .section-kicker > .code-label:last-child { font-size:8px; text-align:right; }
 .work-heading,.story-intro { grid-template-columns:1fr; gap:16px; margin-bottom:26px; }
 .work-grid { grid-template-columns:1fr; gap:16px; }
 .work-card { padding:22px; }
 .work-card-top { margin-bottom:20px; }
 .work-card h3 { font-size:26px; }
 .work-hook { font-size:24px; }
 .work-description { font-size:14px; }
 .story-threads { gap:28px 20px; }
 .story-thread h3 { font-size:18px; }
 .story-thread p { font-size:13px; }
 .perspective-grid { grid-template-columns:1fr; gap:26px; }
 .perspective-section { padding-block:48px; }
 .perspective-quote { font-size:24px; margin-top:18px; }
 .game-heading { flex-direction:column; align-items:start; gap:20px; }
 #game-status-tracker { padding:10px 14px; }
 .signature-board { height:760px; }
 .signature-board[data-complete="true"] { height:280px; }
 .signature-board[data-complete="true"] .dot-node { left:var(--x);top:var(--y); }
 .signature-board[data-complete="true"] .game-line { stroke-width:2; }
 .signature-board[data-complete="true"] .dot-circle { width:5px; height:5px; }
 .signature-caption { font-size:7px; letter-spacing:.08em; padding-inline:12px; }
 .signature-completion { flex-direction:column; align-items:start; gap:18px; }
 .completion-actions { justify-content:start; }
 .game-shortcut { margin-left:0; width:100%; }
 .header-clock { gap:5px; font-size:11px; }
 .clock-zone { display:none; }
 header > div { gap:12px; }
 header > div > div:last-child { gap:14px; }
 .listening-card { padding:18px; }
 .listening-body { gap:12px; }
}
@media(max-width:379px){
 .clock-location { display:none; }
 .work-card-bottom { grid-template-columns:1fr; }
 .work-role { grid-column:auto; }
 .work-detail { justify-content:start; }
 .story-threads { grid-template-columns:1fr; }
 .listening-body { align-items:start; }
 #listening-art { width:56px;height:56px; }
}

/* V3 / The arcade, small personal shelves, and the scenic route. */
html[data-dialog-open="true"] { overflow: hidden; }
.arcade { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:0; border:1px solid #ffffff14; background:#131312; }
.arcade-play { min-width:0; padding:24px 30px; }
.arcade-toolbar { display:flex; align-items:center; gap:20px; justify-content:space-between; color:#b2aea5; }
.arcade-toolbar #game-status-tracker { min-width:0; display:flex; align-items:center; gap:12px; font-size:10px; }
.arcade-toolbar #next-dot-display { color:var(--ia-lime); font-size:18px; min-width:36px; }
.arcade-toolbar .button-quiet { font-size:10px; }
.drawing-board { width:100%; max-width:580px; height:auto; aspect-ratio:1; margin:4px auto 0; background-color:#131312; background-image:radial-gradient(#e5e2e117 .65px,transparent .65px); background-size:24px 24px; border:0; border-radius:0; }
.drawing-board .game-lines { overflow:visible; }
.drawing-board .game-line { stroke:var(--ia-lime); stroke-width:2.2; transition:stroke .3s; }
.drawing-board .dot-node { width:44px;height:44px;margin:-22px 0 0 -22px;left:var(--x);top:var(--y);color:var(--ia-text);transition:opacity .3s; }
.drawing-board .dot-circle { width:8px;height:8px; }
.drawing-board .dot-number { top:-3px;font-size:11px; }
.drawing-board .dot-node[data-state="connected"] {color:var(--ia-lime);}
.drawing-board .dot-node[data-state="next"]::before {border-color:var(--ia-lime);}
.drawing-board .dot-node[data-hint="true"]::before {border-color:var(--ia-coral);border-width:2px;background:#ff544a20;}
.drawing-board .dot-node[data-hint="true"] .dot-number {color:var(--ia-coral);}
.drawing-board[data-complete="true"] .dot-number {opacity:0;}
.drawing-board[data-complete="true"] .dot-node {opacity:.25;pointer-events:none;}
.drawing-board[data-complete="true"] .dot-circle {transform:scale(.6);}
.drawing-board[data-complete="true"] .game-line {stroke:#e5e2d9;stroke-width:2.5;}
.drawing-detail {fill:none;stroke-linecap:round;stroke-linejoin:round;}
.drawing-detail.tone-muted {stroke:#77756e;}
.drawing-detail.tone-paper {stroke:#dedbd3;}
.drawing-detail.tone-accent {stroke:var(--ia-coral);}
.drawing-detail.solid.tone-accent {fill:var(--ia-coral);}
.drawing-board .game-board-coordinate {left:14px;top:12px;font-size:8px;color:#868279;letter-spacing:.1em;}
.arcade-play .game-meta {justify-content:space-between; margin-top:6px; padding-top:16px; border-top:1px solid #ffffff0a;}
.arcade-play .game-progress {width:42%;}
.arcade-aside {background:#1b1b19;border-left:1px solid #ffffff0b;padding:30px 24px;display:flex;flex-direction:column;gap:30px;}
.arcade-aside h3 {font:500 29px/1.16 'Geist',sans-serif;letter-spacing:-.035em;margin:14px 0;}
.arcade-aside p {font-size:13px;line-height:1.7;color:#b5b1a8;}
.arcade-aside .code-label {font-size:9px;}
.level-picker {display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-top:12px;}
.level-pick {display:grid;place-items:center;min-height:40px;min-width:0;border:1px solid #ffffff16;font:500 10px 'JetBrains Mono',monospace;color:#bfbbb2;background:transparent;}
.level-pick[aria-current="step"] {border-color:var(--ia-lime);color:var(--ia-lime);background:#c4f33b07;}
.level-pick[data-discovered="true"]:not([aria-current]) {color:var(--ia-lime);background:#c4f33b10;}
.level-pick:disabled {color:#77746c;cursor:not-allowed;border-style:dashed;}
.arcade-controls {border-top:1px solid #ffffff10;padding-top:18px;}
.auto-next {display:flex;gap:9px;align-items:center;font-size:12px;cursor:pointer;min-height:44px;}
.auto-next input {appearance:auto;accent-color:var(--ia-lime);width:16px;height:16px;}
.auto-next .code-label {margin-left:auto;color:#aba79c;}
.arcade-controls .button-quiet {margin-top:10px;justify-content:start;font-size:9px;}
.arcade-aside .arcade-small {font:400 10px/1.7 'JetBrains Mono',monospace;color:#a19d92;}
.arcade-aside > .arcade-small {margin-top:auto;}
.level-completion {border-top:1px solid #c4f33535;padding-top:22px;}
.level-completion h4 {color:var(--ia-lime);font-size:15px;letter-spacing:-.01em;margin-bottom:7px;}
.level-completion p {font-size:12px;margin-bottom:18px;}
.level-completion .button-light {width:100%;font-size:10px;padding:13px;}
.level-completion .button-quiet {color:var(--ia-lime);font-size:10px;}
#next-level-countdown {display:block;margin-top:12px;font-size:8px;}
.culture-entry {width:100%;display:flex;text-align:left;align-items:start;gap:20px;background:#201f1f;padding:24px;border:1px solid transparent;transition:background .2s,border-color .2s;}
.culture-entry:hover {background:#282724;border-color:#ffffff14;}
.culture-entry .icon {flex-shrink:0;width:26px;height:26px;margin-top:5px;}
.culture-entry-copy {display:flex;flex-direction:column;gap:6px;min-width:0;flex:1;}
.culture-entry-copy strong {font-size:19px;font-weight:500;letter-spacing:-.02em;}
.culture-entry-copy > span:not(.code-label):not(.culture-entry-foot) {font-size:13px;color:#b5b1aa;line-height:1.7;}
.culture-entry-copy .code-label {font-size:9px;}
.culture-entry-foot {display:flex;gap:14px;align-items:center;font:500 10px/1.5 'JetBrains Mono',monospace;margin-top:14px;color:#d5d1c9;}
.culture-entry-foot [data-shelf-count] {margin-left:auto;font-size:8px;color:#aaa69b;}
.music-curation {padding:26px;background:#24251d;border:1px solid #c4f33b12;}
.music-curation h4 {font-size:23px;letter-spacing:-.025em;line-height:1.3;}
.music-curation > p:not(.curation-note) {color:#bbb9ab;font-size:13px;line-height:1.7;margin:8px 0 16px;}
.music-curation .code-label {font-size:9px;}
.music-home-actions {display:flex;gap:20px;flex-wrap:wrap;}
.music-home-actions .button-light {font-size:10px;gap:10px;}
.curation-note {color:#aaa897;font:400 9px/1.7 'JetBrains Mono',monospace;margin-top:12px;}
.detail-dialog {width:min(820px,calc(100% - 32px));}
.dialog-close {position:sticky;top:0;z-index:2;background:#171716;}
.detail-dialog .shelf-intro {font-size:13px;max-width:530px;color:#b5b0a6;margin:20px 0 28px;}
.shelf-empty {border:1px dashed #ffffff1c;padding:32px 24px;margin-top:25px;}
.shelf-empty > p {margin-top:18px;}
.detail-dialog .shelf-empty .detail-note {font-size:12px;}
.shelf-list {margin-top:16px;padding:0;list-style:none;display:grid;gap:0;}
.shelf-item {display:flex;gap:20px;align-items:start;padding:26px 0;border-top:1px solid #ffffff13;}
.shelf-index {font:400 11px 'JetBrains Mono',monospace;color:#a5a092;margin-top:4px;min-width:24px;}
.shelf-cover {width:64px;height:90px;object-fit:cover;flex-shrink:0;background:#201f1f;}
.shelf-body {min-width:0;flex:1;}
.detail-dialog .shelf-body h3 {font:500 19px/1.3 'Geist',sans-serif;letter-spacing:-.02em;color:#e5e2d9;text-transform:none;margin:0 0 6px;}
.detail-dialog .shelf-body .shelf-subtitle {font:400 10px/1.6 'JetBrains Mono',monospace;color:#a6a092;}
.detail-dialog .shelf-body .shelf-note {font-size:13px;color:#c1bbae;margin-top:10px;line-height:1.7;}
.shelf-link {font:400 10px 'JetBrains Mono',monospace;display:inline-block;color:var(--ia-lime);margin-top:14px;}
.shelf-rating {flex-shrink:0;min-width:45px;text-align:right;font:400 10px 'JetBrains Mono',monospace;color:#aaa396;}
.shelf-rating strong {display:block;font:500 26px/1.1 'Geist',sans-serif;color:var(--ia-lime);margin-bottom:5px;}
.music-item {border-top:1px solid #ffffff16;padding:26px 0;}
.detail-dialog .music-item h3 {color:#e5e2d9;font:500 21px/1.3 'Geist',sans-serif;text-transform:none;letter-spacing:-.02em;margin:10px 0;}
.detail-dialog .music-item p {font-size:13px;}
.detail-dialog .music-item .code-label {font-size:10px;}
.detail-dialog .music-privacy,.detail-dialog .embed-note {font-size:11px;line-height:1.7;color:#aaa699;margin:15px 0 22px;}
.music-actions {display:flex;flex-wrap:wrap;gap:18px;margin:18px 0 0;}
.music-actions .button-light {font-size:10px;}
.music-actions .button-quiet {font-size:10px;}
.music-embed {display:block;border:0;width:100%;margin-top:22px;border-radius:8px;background:#10100f;}
.youtube-embed {aspect-ratio:16/9;height:auto;min-height:200px;border-radius:0;}
.close-player {margin-top:8px;font-size:9px;}
.terminal-section {padding:70px 0 100px;border-top:1px solid #ffffff0e;background:#131312;}
.terminal-intro {display:flex;justify-content:space-between;align-items:end;gap:35px;margin:0 0 30px;}
.terminal-intro h2 {font:500 clamp(28px,4vw,44px)/1.13 'Geist',sans-serif;letter-spacing:-.035em;max-width:560px;}
.terminal-intro p {font-size:14px;color:#aaa598;line-height:1.7;max-width:280px;}
.terminal-window {background:#0b0d0a;border:1px solid #c4f33b26;border-radius:8px;overflow:hidden;box-shadow:0 20px 55px #0002;}
.terminal-bar {display:flex;align-items:center;gap:16px;padding:16px 22px;border-bottom:1px solid #ffffff10;background:#1b1d18;font:400 10px 'JetBrains Mono',monospace;color:#c6c8ba;}
.terminal-window-dots {display:flex;gap:5px;}
.terminal-window-dots i {width:7px;height:7px;border-radius:50%;background:#777969;}
.terminal-window-dots i:first-child {background:var(--ia-coral);}
.terminal-window-dots i:last-child {background:var(--ia-lime);}
.terminal-session {margin-left:auto;font-size:8px;letter-spacing:.06em;color:#9da08a;}
.terminal-session > span {color:var(--ia-lime);font-size:9px;margin-left:8px;}
.terminal-output {height:240px;overflow-y:auto;overscroll-behavior:contain;padding:24px 26px;scrollbar-width:thin;scrollbar-color:#55594a transparent;font:400 12px/1.85 'JetBrains Mono',monospace;color:#bfc5b5;white-space:pre-wrap;overflow-wrap:anywhere;}
.terminal-output p {margin-bottom:10px;}
.terminal-output strong,.terminal-welcome {font-weight:500;color:#e5e9db;}
.terminal-output .terminal-echo {color:var(--ia-lime);margin-top:17px;}
.terminal-output .terminal-warning {color:#ffb4ab;}
.terminal-output .terminal-dim {color:#929985;font-size:11px;}
.terminal-link-list {display:flex;gap:12px 25px;flex-wrap:wrap;margin:14px 0;}
.terminal-output a {color:var(--ia-lime);text-decoration:underline;text-underline-offset:4px;}
.terminal-form {display:grid;grid-template-columns:auto minmax(0,1fr) 44px;gap:14px;align-items:center;border-top:1px solid #ffffff10;border-bottom:1px solid #ffffff10;padding:10px 24px;}
.terminal-form:focus-within {background:#c4f33b05;}
#terminal-prompt {font:500 12px 'JetBrains Mono',monospace;color:var(--ia-lime);}
#terminal-input {min-width:0;width:100%;min-height:44px;background:transparent;border:0;color:#eef4e6;font:400 14px/1.6 'JetBrains Mono',monospace;caret-color:var(--ia-lime);border-radius:0;padding:0 8px;}
#terminal-input::placeholder {color:#6c745e;}
#terminal-input:focus-visible {outline:1px solid #c4f33840;outline-offset:1px;}
.terminal-run {min-height:44px;min-width:44px;border:1px solid #ffffff20;color:var(--ia-lime);font-size:22px;}
.terminal-run:hover {background:#c4f33b15;}
.terminal-shortcuts {display:flex;flex-wrap:wrap;gap:4px 14px;padding:10px 25px;}
.terminal-shortcuts button {font:400 10px 'JetBrains Mono',monospace;color:#a8ad9a;min-height:36px;min-width:40px;text-align:left;}
.terminal-shortcuts button:hover {color:var(--ia-lime);}
.terminal-hints {font:400 10px/1.8 'JetBrains Mono',monospace;color:#a29c8d;margin-top:18px;}
@media(max-width:1023px){
 .arcade {grid-template-columns:minmax(0,1fr) 245px;}
 .arcade-aside {padding:24px 18px;}
 .arcade-play {padding:20px 18px;}
 .level-picker {grid-template-columns:repeat(3,1fr);}
}
@media(max-width:767px){
 .arcade {grid-template-columns:1fr;}
 .arcade-play {padding:12px 0 18px;}
 .arcade-toolbar,.arcade-play .game-meta {margin-inline:15px;}
 .arcade-toolbar {gap:10px;}
 .arcade-toolbar > .code-label {font-size:9px;}
 .arcade-toolbar #next-dot-display {font-size:15px;min-width:30px;}
 .arcade-toolbar .button-quiet {font-size:9px;}
 .drawing-board {height:auto;aspect-ratio:1;max-width:560px;}
 .drawing-board .dot-node {left:var(--x);top:var(--y);width:38px;height:38px;margin:-19px 0 0 -19px;}
 .drawing-board .dot-number {top:-4px;font-size:10px;}
 .drawing-board .dot-circle {width:7px;height:7px;}
 .drawing-board .game-board-coordinate {font-size:6px;top:5px;left:12px;}
 .drawing-board .game-line {stroke-width:1.7;}
 .drawing-board[data-complete="true"] .game-line {stroke-width:2;}
 .arcade-play .game-meta {margin-top:8px;}
 .arcade-play .game-meta .code-label {font-size:8px;}
 .arcade-aside {border-left:0;border-top:1px solid #ffffff0f;padding:22px;gap:22px;}
 .arcade-aside h3 {font-size:26px;margin:12px 0;}
 .level-picker {grid-template-columns:repeat(6,1fr);gap:7px;}
 .auto-next {max-width:320px;}
 .arcade-controls {padding-top:8px;}
 .level-completion .button-light {width:auto;min-width:180px;}
 .culture-entry {padding:21px 18px;gap:15px;}
 .culture-entry-copy strong {font-size:18px;}
 .culture-entry-foot {font-size:9px;gap:9px;}
 .music-curation {padding:21px 18px;}
 .music-home-actions {gap:7px 16px;}
 .music-curation .listening-top .code-label:last-child {font-size:7px;}
 .shelf-item {gap:12px;}
 .shelf-index {min-width:20px;}
 .detail-dialog .shelf-body h3 {font-size:17px;}
 .shelf-rating strong {font-size:23px;}
 .shelf-cover {width:45px;height:68px;}
 .detail-dialog .shelf-body .shelf-note {font-size:12px;}
 .terminal-section {padding:50px 0 65px;}
 .terminal-intro {flex-direction:column;align-items:start;gap:16px;}
 .terminal-intro p {font-size:13px;max-width:100%;}
 .terminal-bar {padding:15px;font-size:9px;gap:12px;}
 .terminal-session {font-size:7px;}
 .terminal-output {font-size:11px;padding:20px 16px;height:260px;}
 .terminal-form {padding:12px 15px;grid-template-columns:minmax(0,1fr) 44px;gap:8px;}
 #terminal-prompt {grid-column:1/-1;font-size:10px;}
 #terminal-input {font-size:16px;}
 .terminal-shortcuts {padding:8px 16px;gap:0 12px;}
 .terminal-hints {font-size:9px;}
}
@media(prefers-reduced-motion:reduce){.drawing-board .game-line,.drawing-board .dot-node{transition:none;}}
@media print{.terminal-section,.arcade,.music-home-actions{display:none;}}

.drawing-reveal-label {position:absolute;bottom:7px;left:0;right:0;text-align:center;color:var(--ia-coral);font:500 10px/1.5 'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:.15em;pointer-events:none;}
#hint-dot:disabled {opacity:.4;cursor:default;}

/* IA. v5 additions ------------------------------------------------------- */
.work-actions{display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap;margin-top:2px}
.work-live{color:var(--ia-lime);font:500 10px/1.2 'JetBrains Mono',monospace;text-transform:uppercase;display:inline-flex;align-items:center;gap:8px;min-height:44px}
.work-live:hover{color:var(--ia-text)}
.movement-card{background:#171716;border:1px solid #ffffff0d;padding:24px 22px}
.movement-card-top,.movement-foot{display:flex;justify-content:space-between;gap:16px;align-items:center}
.movement-card h4{font:500 21px/1.25 'Geist',sans-serif;letter-spacing:-.02em;margin:14px 0 7px;color:#e5e2d9}
.movement-card>p{font-size:13px;line-height:1.7;color:#aaa69b;max-width:560px}
.movement-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:20px}
.movement-stats>div{background:#0e0e0e;padding:14px 12px;min-width:0}
.movement-stats strong{display:block;color:var(--ia-lime);font:500 clamp(21px,3vw,30px)/1 'Geist',sans-serif;letter-spacing:-.03em}
.movement-stats span{display:block;color:#8f8b80;font:400 8px/1.5 'JetBrains Mono',monospace;text-transform:uppercase;margin-top:8px;letter-spacing:.04em}
.movement-foot{margin-top:15px;color:#8f8b80;font:400 9px/1.6 'JetBrains Mono',monospace;text-transform:uppercase;align-items:flex-start}
.movement-foot a{color:var(--ia-lime);white-space:nowrap}
.game-status{min-width:82px;text-align:right;padding-top:3px}
.cv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:28px}
.cv-card{border:1px solid #ffffff12;background:#171716;padding:24px;min-width:0}
.detail-dialog .cv-card h3{font:500 22px/1.25 'Geist',sans-serif;text-transform:none;letter-spacing:-.025em;margin:14px 0 8px;color:#e5e2d9}
.detail-dialog .cv-card>p{font-size:13px;line-height:1.7;color:#b6b0a4}
.detail-dialog .cv-card .cv-updated{font:400 9px/1.6 'JetBrains Mono',monospace;text-transform:uppercase;color:#8f8b80;margin-top:16px}
.cv-actions{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:22px;align-items:center}
.cv-missing{font:400 9px/1.5 'JetBrains Mono',monospace;text-transform:uppercase;color:#8f8b80}
.terminal-float{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:44;display:flex;align-items:center;justify-content:center;background:#c4f33b;color:#1b2107;border:1px solid #d5ff59;padding:0;width:46px;height:46px;border-radius:8px;box-shadow:0 12px 32px #0008;font:600 11px/1 'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:.04em;transition:opacity 180ms ease,transform 180ms ease,background 180ms ease}
.terminal-float:hover{background:#e5e2d9;color:#181817}
.terminal-float-icon{font-size:15px;letter-spacing:-.08em}
.terminal-float-label{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden;white-space:nowrap}
.terminal-float.is-hidden{opacity:0;transform:translateY(10px);pointer-events:none}
@media(max-width:767px){
 .movement-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .movement-foot{flex-direction:column;gap:7px}
 .cv-grid{grid-template-columns:1fr}
 .terminal-float{right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom))}
 .work-actions{gap:6px 14px}
}
@media(prefers-reduced-motion:reduce){.terminal-float{transition:none}}
@media print{.terminal-float{display:none!important}}
.movement-empty{margin-top:20px!important;padding:16px;border:1px dashed #ffffff14;color:#928e83!important;font:400 10px/1.7 'JetBrains Mono',monospace!important;text-transform:uppercase}
