body.apps-page {
  position: relative;
  float: none;
  height: auto;
  min-height: 100vh;
  width: 100%;
  background: #fff;
  overflow-x: hidden;
}

body.apps-page[data-app-page="index"] #art-apps-root .art-apps-list-section--intro {
  margin-bottom: 20px !important;
}

body.apps-page,
body.apps-page #art-apps-root,
body.apps-page #art-apps-root * {
  box-sizing: border-box;
}

body.apps-page #art-apps-root article,
body.apps-page #art-apps-root aside,
body.apps-page #art-apps-root section,
body.apps-page #art-apps-root header,
body.apps-page #art-apps-root footer,
body.apps-page #art-apps-root details,
body.apps-page #art-apps-root summary {
  position: relative;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  width: auto;
  height: auto;
  margin: 0;
  float: none;
  overflow: visible;
  visibility: visible;
  opacity: 1;
}

body.apps-page #art-apps-root details,
body.apps-page #art-apps-root summary {
  display: block;
}

body.apps-page nav {
  overflow: visible;
}

body.apps-page #sous-titre {
  display: block;
}

body.apps-page #menu-colophon a,
body.apps-page .link-home a,
body.apps-page .link-works a,
body.apps-page .art-apps-nav-current a,
body.apps-page #titre a {
  color: inherit;
  text-decoration: none;
}

body.apps-page #menu-colophon a:hover,
body.apps-page .link-home a:hover,
body.apps-page .link-works a:hover,
body.apps-page .art-apps-nav-current a:hover,
body.apps-page #titre a:hover {
  text-decoration: none;
}

body.apps-page .nav-right {
  gap: 0;
}

body.apps-page .header-cart {
  display: inline-flex;
  align-items: center;
  line-height: 18px;
}

body.apps-page > nav .header-dropdown {
  display: none;
}

body.apps-page.apps-about-open {
  overflow: hidden;
}

body.apps-page > nav .link-works {
  -webkit-transform: translateX(10px);
          transform: translateX(10px);
}

body.apps-page > nav .link-works:before {
  content: "";
  position: absolute;
  top: -6px;
  right: -12px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #ff3b30;
  border: 2px solid #fff;
  -webkit-box-shadow: 0 0 10px rgba(255, 59, 48, 0.45);
          box-shadow: 0 0 10px rgba(255, 59, 48, 0.45);
  -webkit-animation: spec-engine-notification 1.8s ease-in-out infinite;
          animation: spec-engine-notification 1.8s ease-in-out infinite;
}

body.apps-page > nav .link-works:after {
  display: block;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  -webkit-transform-origin: center;
          transform-origin: center;
  left: 0;
  top: -7px;
}

body.apps-page .header-cart img {
  width: 15px;
  height: 15px;
  display: block;
}

@media screen and (max-width: 819px) {
  .apps-page .menu nav .shoplink,
  .apps-page .menu nav .nav-right {
    display: none;
  }

  .apps-page .menu nav .about-mobile-controls {
    position: absolute;
    right: 15px;
    top: 0;
    margin-left: 0;
    display: flex;
    align-items: baseline;
    justify-content: flex-end;
    gap: 14px;
    height: 35px;
  }

  .apps-page .menu nav .about-mobile-language,
  .apps-page .menu nav .about-mobile-close {
    font-size: 14px;
    line-height: 18px;
    white-space: nowrap;
  }

  .apps-page .menu nav .about-mobile-language .language-dropdown-trigger {
    position: relative;
    top: -2px;
  }

  .apps-page .menu nav .about-mobile-cart {
    width: 16px;
    min-width: 16px;
    display: flex;
    align-items: center;
  }

  .apps-page .menu nav .about-mobile-cart img {
    display: block;
    width: 16px;
    height: auto;
    position: relative;
    top: -1px;
  }

  .apps-page .menu nav .about-mobile-close.close-about {
    width: 28px;
    min-width: 28px;
    height: 35px;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-right: 0;
    position: relative;
  }

  .apps-page .menu nav .about-mobile-close.close-about:after {
    content: none;
  }

  .apps-page .menu nav .about-mobile-close-icon {
    display: inline-block;
    font-family: "TwoMontrouge", Helvetica, sans-serif;
    font-size: 30px;
    line-height: 1;
    position: relative;
    top: 0;
    transform: none;
    transition: transform 140ms ease;
  }
}

@media screen and (min-width: 820px) {
  .apps-page .menu nav .shoplink,
  .apps-page .menu nav .nav-right {
    display: none;
  }

  .apps-page .menu nav .about-mobile-controls {
    position: absolute;
    right: 20px;
    top: 0;
    margin-left: 0;
    display: flex;
    align-items: baseline;
    gap: 14px;
    height: 35px;
  }

  .apps-page .menu nav .about-mobile-language,
  .apps-page .menu nav .about-mobile-close {
    font-size: 14px;
    line-height: 18px;
    white-space: nowrap;
  }

  .apps-page .menu nav .about-mobile-language .language-dropdown-trigger {
    position: relative;
    top: -2px;
  }

  .apps-page .menu nav .about-mobile-cart {
    width: 16px;
    min-width: 16px;
    display: flex;
    align-items: center;
  }

  .apps-page .menu nav .about-mobile-cart img {
    display: block;
    width: 16px;
    height: auto;
    position: relative;
    top: -1px;
  }

  .apps-page .menu nav .about-mobile-close.close-about {
    width: 28px;
    min-width: 28px;
    height: 35px;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-right: 0;
    position: relative;
  }

  .apps-page .menu nav .about-mobile-close.close-about:after {
    content: none;
  }

  .apps-page .menu nav .about-mobile-close-icon {
    display: inline-block;
    font-family: "TwoMontrouge", Helvetica, sans-serif;
    font-size: 30px;
    line-height: 1;
    position: relative;
    top: 0;
    transform: none;
    transition: transform 140ms ease;
  }
}

.art-apps-root {
  position: relative;
  width: 100%;
  padding: 78px 20px 155px;
}

body.apps-page[data-app-page="index"] .art-apps-root {
  --art-apps-index-gutter: 20px;
  padding-top: 58px;
  padding-bottom: 116px;
}

body.apps-page[data-app-page="manifesto"] .art-apps-root {
  --art-apps-index-gutter: 20px;
  padding-top: 58px;
  padding-bottom: 80px;
}

body.apps-page[data-app-page="index"]::after {
  content: "";
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  height: 40px;
  background: #fff;
  pointer-events: none;
  z-index: 510;
}

.art-apps-shell {
  position: relative;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
}

.art-apps-shell--index {
  display: flex;
  flex-direction: column;
  gap: 26px;
}

body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-banner {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  left: auto;
  right: auto;
  top: auto;
  bottom: auto;
  width: 100%;
  margin: 0 0 8px;
  padding: 0;
  overflow: visible;
  box-sizing: border-box;
}

body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-banner .art-apps-index-display-title {
  position: relative;
  left: auto;
  right: auto;
  bottom: auto;
  top: auto;
  display: inline-block;
  width: auto;
  max-width: 100%;
  margin: 0 0 -0.14em;
  font-family: "TwoMontrouge", Helvetica, sans-serif;
  font-size: clamp(42px, 8vw, 140px);
  line-height: 0.82;
  letter-spacing: -0.015em;
  font-kerning: normal;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: visible;
  text-align: left;
}

body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-banner .art-apps-index-banner-meta {
  display: flex;
  flex-wrap: nowrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  margin-top: 10px;
}

body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-banner .art-apps-index-banner-meta__group {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px;
  min-width: 0;
}

body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-banner .art-apps-index-banner-meta__group--right {
  justify-content: flex-end;
}

@media screen and (min-width: 820px) {
  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-banner .art-apps-index-banner-meta {
    margin-top: 10px !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-banner .art-apps-index-banner-meta .art-apps-chip,
  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-banner .art-apps-index-banner-meta .art-apps-inline-meta {
    transform: none !important;
    margin: 0 !important;
    align-self: baseline;
  }
}

body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-copyband {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  width: calc(100% + (var(--art-apps-index-gutter) * 2));
  margin: 0 0 18px calc(var(--art-apps-index-gutter) * -1);
  padding: 0 var(--art-apps-index-gutter);
  box-sizing: border-box;
}

body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-copyband .art-apps-index-copyblock {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-copyband .art-apps-index-copyblock summary {
  margin: 0 0 10px;
  list-style: none;
  cursor: default;
  font-family: "Roboto", Helvetica, sans-serif;
  font-size: 11px;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.62;
}

body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-copyband .art-apps-index-copyblock summary::-webkit-details-marker {
  display: none;
}

body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-copyband .art-apps-lead,
body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-copyband .art-apps-intro {
  max-width: none;
  margin: 0;
  font-size: clamp(18px, 1.45vw, 22px);
  line-height: 1.18;
  letter-spacing: -0.018em;
}

body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured {
  display: grid;
  gap: 16px;
  width: 100%;
  margin: 0 0 20px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-index-featured__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  padding: 0 0 12px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}

body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-index-featured__meta {
  font-family: "Roboto", Helvetica, sans-serif;
  font-size: 11px;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.62;
  text-align: right;
}

body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry {
  padding: 4px 0 0;
  border-bottom: 0;
  grid-template-columns: 138px 280px minmax(0, 1fr) 188px;
}

body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry-preview-shell {
  box-shadow: 0 18px 34px rgba(0,0,0,0.1);
}

body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry--featured-conversation {
  grid-template-columns: minmax(122px, 0.48fr) minmax(240px, 286px) minmax(300px, 0.88fr);
  grid-template-areas:
    "meta preview body"
    "meta preview link";
  gap: 18px 30px;
  align-items: start;
}

body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry--featured-conversation .art-apps-entry-meta {
  grid-area: meta;
  gap: 10px;
  align-self: start;
  padding-top: 10px;
}

body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry--featured-conversation .art-apps-entry-preview {
  grid-area: preview;
  align-items: center;
}

body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry--featured-conversation .art-apps-entry-preview-label {
  align-self: flex-start;
}

body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry--featured-conversation .art-apps-entry-preview-shell {
  width: min(100%, 264px);
  aspect-ratio: 390 / 844;
  border-width: 7px;
  border-color: #111;
  border-radius: 34px;
  background: #111;
  box-shadow: 0 24px 48px rgba(0,0,0,0.12);
}

body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry--featured-conversation .art-apps-entry-preview-shell::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 40%;
  height: 16px;
  transform: translateX(-50%);
  border-radius: 0 0 12px 12px;
  background: #111;
  z-index: 3;
}

body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry--featured-conversation .art-apps-entry-preview-frame,
body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry--featured-conversation .art-apps-entry-preview-hit,
body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry--featured-conversation .art-apps-entry-preview-overlay {
  border-radius: 26px;
}

body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry--featured-conversation .art-apps-entry-body {
  grid-area: body;
  align-self: start;
  display: grid;
  gap: 14px;
  padding-top: 6px;
}

body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry--featured-conversation .art-apps-entry-summary {
  max-width: 34ch;
  font-size: 16px;
  line-height: 1.42;
}

body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry--featured-conversation .art-apps-entry-notes {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry--featured-conversation .art-apps-entry-note {
  max-width: none;
  padding: 12px 12px 11px;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.88);
}

body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry--featured-conversation .art-apps-entry-link {
  grid-area: link;
  justify-content: flex-start;
  min-height: auto;
  padding-top: 0;
}

.art-apps-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.85fr);
  gap: 24px;
}

.art-apps-index-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.art-apps-stack {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.art-apps-index-panels {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  width: 100%;
  align-items: stretch;
}

.art-apps-index-panel {
  border: 1px solid #000;
  padding: 16px;
  background: #fff;
  border-radius: 22px;
  min-height: 100%;
}

.art-apps-index-panel summary {
  list-style: none;
  cursor: default;
}

.art-apps-index-panel summary::-webkit-details-marker {
  display: none;
}

.art-apps-index-panel__body {
  margin-top: 10px;
}

.art-apps-index-panel__body > * + * {
  margin-top: 14px;
}

.art-apps-index-panel h2 {
  margin: 0;
}

.art-apps-index-panel p {
  margin: 0;
  max-width: 42ch;
}

body.apps-page[data-app-page="index"] #art-apps-root .art-apps-live-news {
  position: fixed !important;
  left: 20px !important;
  right: 20px !important;
  top: auto !important;
  bottom: 6px !important;
  z-index: 540;
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 19px;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  -webkit-backdrop-filter: none;
          backdrop-filter: none;
  overflow: visible;
  box-shadow: none;
}

.art-apps-live-news__label {
  display: inline-flex;
  align-items: center;
  gap: 0;
  min-width: 0;
  flex: 0 0 auto;
  line-height: 19px;
  white-space: nowrap;
}

.art-apps-live-news__label .art-apps-theme-kicker {
  position: relative;
  top: -2px;
  margin: 0;
  font-family: "TwoMontrouge", Helvetica, sans-serif;
  font-size: 14px;
  line-height: 19px;
  letter-spacing: 0;
  text-transform: none;
  opacity: 1;
}

.art-apps-live-news__viewport {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  display: flex;
  align-items: center;
  min-height: 27px;
  padding: 4px 10px;
  border: 1px solid #000;
  border-radius: 9px;
  background: #fff;
  pointer-events: auto;
}

.art-apps-live-news__track {
  --ticker-distance: 1200px;
  --ticker-duration: 90s;
  display: inline-flex;
  align-items: center;
  width: max-content;
  min-width: max-content;
  animation: art-apps-live-news-ticker var(--ticker-duration) linear infinite;
  will-change: transform;
}

.art-apps-live-news__track-group {
  display: inline-flex;
  align-items: center;
  gap: 0;
  padding-right: 18px;
}

.art-apps-live-news__item {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}

.art-apps-live-news__link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #000;
  text-decoration: none;
  white-space: nowrap;
}

.art-apps-live-news__headline {
  position: relative;
  top: 1px;
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 0 8px;
  border-radius: 999px;
  background: #000;
  color: #fff;
  font-size: 14px;
  line-height: 1;
  letter-spacing: -0.015em;
}

.art-apps-live-news__source,
.art-apps-live-news__badge,
.art-apps-live-news__time,
.art-apps-live-news__empty,
.art-apps-live-news__separator {
  font-family: "Roboto", Helvetica, sans-serif;
  font-size: 11px;
  line-height: 1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.art-apps-live-news__source {
  display: inline-flex;
  align-items: center;
  min-height: 19px;
  position: relative;
  top: 2px;
  font-family: "TwoMontrouge", Helvetica, sans-serif;
  font-size: 14px;
  line-height: 19px;
  letter-spacing: 0;
  text-transform: none;
  opacity: 0.62;
}

.art-apps-live-news__badge {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 0 7px;
  border: 1px solid rgba(0, 0, 0, 0.14);
  border-radius: 999px;
}

.art-apps-live-news__badge--category,
.art-apps-live-news__time,
.art-apps-live-news__empty,
.art-apps-live-news__separator {
  opacity: 0.62;
}

.art-apps-live-news__separator {
  padding: 0 14px;
}

.art-apps-live-news__status {
  flex: 0 0 auto;
}

.art-apps-live-news__link:hover strong,
.art-apps-live-news__link:focus-visible strong {
  text-decoration: underline;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.14em;
}

@keyframes art-apps-live-news-ticker {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(calc(-1 * var(--ticker-distance)), 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .art-apps-live-news__track {
    animation: none;
  }
}

.art-apps-index-quicknav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding-top: 6px;
}

.art-apps-index-quicknav-link {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 12px;
  border: 1px solid #000;
  border-radius: 999px;
  background: #fff;
  color: #000;
  text-decoration: none;
  font-family: "Roboto", Helvetica, sans-serif;
  font-size: 11px;
  line-height: 1;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  transition: background 120ms ease, color 120ms ease, transform 120ms ease;
}

.art-apps-index-quicknav-link:hover {
  background: #000;
  color: #fff;
  transform: translateY(-1px);
}

.art-apps-kicker {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-bottom: 12px;
}

.art-apps-chip,
.art-apps-visual-chip,
.art-apps-inline-meta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 18px;
  padding: 4px 8px;
  border: 1px solid #000;
  border-radius: 999px;
  background: #fff;
  color: #000;
  font-family: "TwoMontrouge", Helvetica, sans-serif;
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0.08em;
  font-kerning: none;
  text-transform: uppercase;
  white-space: nowrap;
}

.art-apps-inline-meta {
  margin-right: 6px;
  margin-bottom: 6px;
}

.art-apps-shell h1,
.art-apps-shell h2,
.art-apps-shell h3 {
  margin: 0;
  font-weight: 400;
}

.art-apps-shell h1 {
  font-size: 34px;
  line-height: 1.02;
  letter-spacing: -0.02em;
}

.art-apps-shell h2 {
  font-size: 21px;
  line-height: 1.05;
}

.art-apps-shell h3 {
  font-size: 17px;
  line-height: 1.1;
}

.art-apps-theme-kicker,
.art-apps-entry-meta,
.art-apps-entry-status,
.art-apps-entry-type,
.art-apps-entry-preview-label,
.art-apps-entry-note-label,
.art-apps-section-title span {
  font-family: "Roboto", Helvetica, sans-serif;
}

.art-apps-shell p,
.art-apps-shell li,
.art-apps-shell a,
.art-apps-shell span {
  font-size: 15px;
  line-height: 18px;
}

.art-apps-shell em,
.art-apps-shell i,
.art-apps-shell cite,
.art-apps-shell dfn {
  font-family: "Roboto", Helvetica, sans-serif;
  font-style: italic;
  font-weight: 400;
  letter-spacing: 0;
}

.art-apps-lead,
.art-apps-intro,
.art-apps-project-intro,
.art-apps-section p,
.art-apps-manifesto-copy p,
.art-apps-entry-summary,
.art-apps-footer-menu__intro {
  max-width: 70ch;
}

.art-apps-link,
.art-apps-shell a {
  color: inherit;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.14em;
}

.art-apps-link--button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid #000;
  border-radius: 999px;
  background: #fff;
  text-decoration: none;
  font-family: "Roboto", Helvetica, sans-serif;
  font-size: 11px;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: background 120ms ease, color 120ms ease, transform 120ms ease;
}

.art-apps-link--button::after {
  content: "→";
  display: inline-block;
  line-height: 1;
}

.art-apps-link--button:hover,
.art-apps-link--button:focus-visible {
  background: #000;
  color: #fff;
  transform: translateY(-1px);
}

.art-apps-list-section--intro .art-apps-link--button:hover,
.art-apps-list-section--intro .art-apps-link--button:focus-visible {
  animation-play-state: paused;
}

.art-apps-index-panel .art-apps-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  margin-top: 14px;
  padding: 0 14px;
  border: 1px solid #000;
  border-radius: 999px;
  background: #fff;
  text-decoration: none;
  font-family: "Roboto", Helvetica, sans-serif;
  font-size: 11px;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.art-apps-index-panel .art-apps-link::after {
  content: "→";
  display: inline-block;
  line-height: 1;
}

.art-apps-index-panel .art-apps-link:hover,
.art-apps-index-panel .art-apps-link:focus-visible {
  background: #000;
  color: #fff;
}

.art-apps-intro-card,
.art-apps-manifesto-card,
.art-apps-visual,
.art-apps-related {
  border: 1px solid #000;
  padding: 12px;
  background: #fff;
}

.art-apps-module {
  border: 1px solid #000;
  padding: 12px;
  background: #fff;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.art-apps-module__header {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.art-apps-module__header p {
  margin: 0;
}

.art-apps-module__form {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.art-apps-module__field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.art-apps-module__field label,
.art-apps-module__eyebrow,
.art-apps-glossary-card__meta,
.art-apps-module__empty,
.art-apps-module__hint {
  font-size: 11px;
  line-height: 1.25;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  opacity: 0.72;
}

.art-apps-module__field input,
.art-apps-module__field textarea,
.art-apps-module__field select,
.art-apps-glossary-search {
  width: 100%;
  min-height: 38px;
  border: 1px solid #000;
  border-radius: 0;
  background: #fff;
  color: #000;
  padding: 9px 10px 8px;
  font-family: "TwoMontrouge", Helvetica, sans-serif;
  font-size: 14px;
  line-height: 1.3;
  box-shadow: none;
}

.art-apps-module__field textarea {
  min-height: 96px;
  resize: vertical;
}

.art-apps-module__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.art-apps-module__button,
.art-apps-glossary-list button {
  appearance: none;
  -webkit-appearance: none;
  border: 1px solid #000;
  background: #fff;
  color: #000;
  padding: 6px 9px 5px;
  border-radius: 11px;
  cursor: url(../img/mickeyhand.png), pointer !important;
  font-family: "TwoMontrouge", Helvetica, sans-serif;
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.art-apps-module__button:hover,
.art-apps-glossary-list button:hover,
.art-apps-glossary-list button.is-active {
  background: #000;
  color: #fff;
}

.art-apps-module__result {
  display: grid;
  gap: 7px;
  padding-top: 10px;
  border-top: 1px solid #000;
}

.art-apps-module__result.is-empty {
  border-top: 1px solid #000;
  padding-top: 10px;
}

.art-apps-module__row {
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 6px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}

.art-apps-module__row:last-child {
  border-bottom: 0;
}

.art-apps-module__term {
  font-size: 11px;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.art-apps-module__value {
  min-width: 0;
}

.art-apps-module__value strong {
  display: block;
  margin-bottom: 2px;
  font-size: 17px;
  line-height: 1.05;
  font-weight: 400;
}

.art-apps-module__statement {
  padding: 9px 0 10px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}

.art-apps-module__statement:last-child {
  border-bottom: 0;
}

.art-apps-module__statement h3 {
  margin: 0 0 4px;
  font-size: 13px;
  line-height: 1.1;
}

.art-apps-module__statement p {
  margin: 0;
}

.art-apps-module__grid {
  display: grid;
  gap: 8px;
}

.art-apps-glossary {
  display: grid;
  gap: 10px;
}

.art-apps-glossary-search {
  min-height: 36px;
}

.art-apps-glossary-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.art-apps-glossary-card {
  border-top: 1px solid #000;
  padding-top: 10px;
  display: grid;
  gap: 7px;
}

.art-apps-glossary-card__meta {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.art-apps-glossary-card p {
  margin: 0;
}

.art-apps-hero {
  margin-bottom: 28px;
}

.art-apps-hero--manifesto,
.art-apps-manifesto-banner {
  display: grid;
  gap: 10px;
  margin-bottom: 34px;
}

.art-apps-manifesto-banner {
  position: relative;
  width: 100%;
  padding: 0;
  margin: 0 0 30px;
}

body.apps-page[data-app-page="manifesto"] #art-apps-root > .art-apps-manifesto-banner,
body.apps-page[data-app-page="manifesto"] #art-apps-root > .art-apps-manifesto-banner .art-apps-manifesto-display-title {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
}

.art-apps-manifesto-banner .art-apps-index-banner-meta {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  width: min(100%, 1180px);
  margin: 10px auto 0;
}

.art-apps-manifesto-banner .art-apps-backlink {
  display: inline-flex;
  align-items: center;
}

.art-apps-manifesto-display-title {
  display: grid;
  gap: 2px;
  width: min(100%, 1180px);
  max-width: none;
  margin: 0 auto;
  font-family: "TwoMontrouge", Helvetica, sans-serif;
  font-size: clamp(42px, 8vw, 140px);
  line-height: 0.82;
  letter-spacing: -0.015em;
  text-transform: uppercase;
  white-space: normal;
  overflow: visible;
  text-align: left;
}

.art-apps-manifesto-display-title__line {
  display: flex;
  align-items: flex-end;
  width: 100%;
}

.art-apps-manifesto-display-title__line--top,
.art-apps-manifesto-display-title__line--bottom {
  justify-content: space-between;
}

.art-apps-manifesto-display-title__word {
  display: block;
}

.art-apps-manifesto-banner-meta__group {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.art-apps-manifesto-banner-meta__group--left {
  justify-content: flex-start;
}

.art-apps-manifesto-banner-meta__group--right {
  justify-content: flex-end;
}

.art-apps-manifesto-backlink {
  width: min(100%, 1180px);
  margin: 2px auto 0;
  justify-content: flex-end;
}

.art-apps-manifesto-display-intro {
  width: min(100%, 1180px);
  max-width: none;
  margin: 0 auto;
  font-size: clamp(18px, 1.45vw, 22px);
  line-height: 1.18;
  letter-spacing: -0.018em;
  text-align: left;
}

.art-apps-list-section--intro,
.art-apps-theme-section {
  border: 1px solid #000;
  background: #fff;
  border-radius: 22px;
}

.art-apps-list-section--intro {
  padding: 14px 16px 16px;
}

.art-apps-list-section__columns {
  display: grid;
  grid-template-columns: minmax(220px, 0.72fr) minmax(0, 1.28fr);
  gap: 18px 28px;
  align-items: start;
  padding-top: 10px;
  border-top: 1px solid rgba(0, 0, 0, 0.12);
}

.art-apps-list-section--intro .art-apps-list-section__columns {
  padding-top: 0;
  border-top: 0;
}

.art-apps-list-section__column {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.art-apps-list-section__column--title h3 {
  margin: 0;
  font-size: clamp(26px, 3.15vw, 34px);
  line-height: 0.94;
  letter-spacing: -0.03em;
  text-wrap: balance;
}

.art-apps-list-section--intro .art-apps-list-section__column--title h3 {
  font-size: clamp(28px, 3.15vw, 36px);
  letter-spacing: -0.015em;
  position: relative;
  top: 2px;
}

.art-apps-list-section--intro .art-apps-list-section__titleline {
  grid-template-columns: minmax(0, 1.18fr) minmax(0, 0.82fr) auto;
}

.art-apps-list-section__titleline {
  display: grid;
  grid-template-columns: minmax(260px, auto) minmax(0, 1fr) auto;
  align-items: start;
  gap: 16px;
}

.art-apps-list-section__titleline h3 {
  grid-column: 1;
  min-width: 0;
  width: 100%;
  white-space: nowrap;
  text-wrap: nowrap;
}

.art-apps-list-section__titleline p {
  grid-column: 2;
  margin: 0;
  min-width: 0;
  width: min(52ch, 100%);
  max-width: 52ch;
  font-size: 14px;
  line-height: 1.14;
  white-space: normal;
}

.art-apps-list-section__titleline .art-apps-link--button {
  grid-column: 3;
  justify-self: end;
  align-self: start;
  white-space: nowrap;
}

.art-apps-list-section--intro .art-apps-link--button {
  min-height: 22px;
  padding: 0 7px;
  gap: 3px;
  font-size: 8px;
  animation: art-apps-footer-intro-drift 2.6s ease-in-out infinite;
  will-change: transform, background-color, color, border-color;
}

.art-apps-list-section--intro .art-apps-list-section__column--title {
  grid-column: 1 / -1;
  gap: 4px;
}

.art-apps-section-title--catalogue h2 {
  font-size: clamp(26px, 3.15vw, 34px);
  line-height: 0.94;
  letter-spacing: -0.03em;
  margin: 0;
  text-wrap: balance;
}

.art-apps-section-title--catalogue span {
  font-family: inherit;
  font-size: clamp(20px, 2.2vw, 26px);
  line-height: 0.98;
  letter-spacing: -0.025em;
  opacity: 0.78;
}

.art-apps-theme-section--catalogue {
  margin-bottom: 8px;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
}

.art-apps-theme-section--catalogue .art-apps-section-title--catalogue {
  margin: 0;
}

.art-apps-section-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.art-apps-section-title span {
  opacity: 0.75;
}

.art-apps-list {
  border-top: 1px solid #000;
}

.art-apps-list--themed {
  border-top: 0;
}

.art-apps-theme-section {
  padding: 16px;
}

.art-apps-theme-head {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr) 54px;
  gap: 18px;
  align-items: start;
  padding-bottom: 14px;
  margin-bottom: 14px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}

.art-apps-theme-kicker {
  padding-top: 6px;
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  opacity: 0.62;
}

.art-apps-theme-copy h2,
.art-apps-entry-titleline h3 {
  font-size: clamp(26px, 3.15vw, 34px);
  line-height: 0.94;
  letter-spacing: -0.03em;
  margin: 0;
  text-wrap: balance;
}

.art-apps-theme-copy h2 {
  margin-bottom: 8px;
}

.art-apps-theme-copy p {
  margin: 0;
  max-width: 70ch;
}

.art-apps-theme-count {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  font-family: "Roboto", Helvetica, sans-serif;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 0.9;
  letter-spacing: -0.04em;
  opacity: 0.22;
}

.art-apps-entry {
  display: grid;
  grid-template-columns: 132px 212px minmax(0, 1fr) 178px;
  gap: 22px;
  padding: 18px 0 20px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.14);
  align-items: start;
}

.art-apps-entry-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
  font-size: 11px;
  line-height: 1.35;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.art-apps-entry-type {
  opacity: 0.72;
  text-transform: none;
  letter-spacing: 0;
  font-size: 13px;
  line-height: 1.45;
}

.art-apps-entry-status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 18px;
  padding: 4px 9px;
  border: 1px solid #000;
  border-radius: 999px;
  background: #fff;
  font-family: "Roboto", Helvetica, sans-serif;
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.art-apps-entry-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #19a85b;
  box-shadow: 0 0 0 1px rgba(0,0,0,0.08);
}

.art-apps-entry-status.is-inactive .art-apps-entry-status-dot {
  background: #d83a31;
}

.art-apps-entry-preview {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.art-apps-entry-preview-label {
  font-family: "Roboto", Helvetica, sans-serif;
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.7;
}

.art-apps-entry-preview-shell {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10.8;
  overflow: hidden;
  border: 1px solid #000;
  border-radius: 0;
  background: #fff;
  box-shadow: 0 16px 28px rgba(0,0,0,0.08);
}

.art-apps-entry-preview-shell.is-portrait {
  aspect-ratio: 3 / 4.8;
}

.art-apps-entry-preview-shell.is-landscape {
  aspect-ratio: 16 / 10.8;
}

.art-apps-entry-preview-shell.is-inactive {
  background:
    linear-gradient(180deg, rgba(245,245,245,0.98), rgba(232,232,232,0.98));
}

.art-apps-entry-preview-frame {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 0;
  background: #fff;
  pointer-events: none;
}

.art-apps-entry-preview-shell.is-inactive .art-apps-entry-preview-frame {
  filter: blur(7px) saturate(0.75) brightness(0.95);
  transform: scale(1.03);
}

.art-apps-entry-preview-hit {
  position: absolute;
  inset: 0;
  z-index: 2;
  text-decoration: none;
}

.art-apps-entry-preview-overlay {
  position: absolute;
  inset: 0;
  display: grid;
  place-content: center;
  gap: 8px;
  padding: 18px;
  text-align: center;
  z-index: 2;
  background: linear-gradient(180deg, rgba(255,255,255,0.18), rgba(255,255,255,0.48));
  backdrop-filter: blur(1px);
}

.art-apps-entry-preview-overlay strong {
  font-size: 17px;
  line-height: 1.08;
}

.art-apps-entry-preview-overlay span {
  opacity: 0.62;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 10px;
}

.art-apps-entry-preview-overlay.is-inactive {
  background: linear-gradient(180deg, rgba(255,255,255,0.14), rgba(255,255,255,0.38));
  backdrop-filter: blur(1px);
}

.art-apps-entry-titleline {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.art-apps-entry-titleline h3 a,
.art-apps-entry-titleline h3 span {
  text-decoration: none;
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}

.art-apps-entry-notes {
  display: grid;
  gap: 10px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(0, 0, 0, 0.12);
}

.art-apps-entry-note {
  margin: 0;
  max-width: 62ch;
  font-size: 13px;
  line-height: 1.58;
  color: rgba(0, 0, 0, 0.82);
}

.art-apps-entry-note-label {
  display: block;
  margin-bottom: 5px;
  font-family: "TwoMontrouge", Helvetica, sans-serif;
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.6;
}

.art-apps-entry-link {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-top: 0;
  min-height: 100%;
}

.art-apps-entry-cta {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 164px;
  min-height: 48px;
  padding: 0 16px 0 18px;
  border: 1px solid #000;
  border-radius: 999px;
  background: #000;
  color: #fff !important;
  text-decoration: none;
  font-family: "Roboto", Helvetica, sans-serif;
  font-size: 11px;
  line-height: 1;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  transition: transform 120ms ease, box-shadow 120ms ease, background 120ms ease, color 120ms ease;
}

.art-apps-entry-cta:visited,
.art-apps-entry-cta:hover,
.art-apps-entry-cta:focus-visible {
  color: #fff !important;
}

.art-apps-entry-cta:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 18px rgba(0,0,0,0.12);
}

.art-apps-entry-cta.is-disabled {
  background: #efefef;
  color: rgba(0,0,0,0.52);
  border-color: rgba(0,0,0,0.24);
  pointer-events: none;
}

.art-apps-entry.is-inactive .art-apps-chip,
.art-apps-entry.is-inactive .art-apps-entry-type,
.art-apps-entry.is-inactive .art-apps-entry-preview-label,
.art-apps-entry.is-inactive .art-apps-entry-titleline,
.art-apps-entry.is-inactive .art-apps-entry-summary,
.art-apps-entry.is-inactive .art-apps-entry-notes,
.art-apps-entry.is-inactive .art-apps-entry-cta.is-disabled {
  filter: blur(0.9px);
  opacity: 0.58;
}

.art-apps-entry.is-inactive .art-apps-entry-status {
  background: rgba(245, 245, 245, 0.98);
  border-color: rgba(0,0,0,0.24);
  filter: none;
  opacity: 1;
}

.art-apps-entry-cta::after,
.art-apps-related-link::after,
.art-apps-footer-menu__link::after {
  content: "→";
  display: inline-block;
  font-size: 14px;
  line-height: 1;
}

.art-apps-entry-cta.is-disabled::after {
  content: "•";
  font-size: 18px;
  line-height: 1;
}

.art-apps-manifesto-copy {
  column-gap: 24px;
}

.art-apps-manifesto-copy p {
  margin: 0 0 12px;
}

/* ── Manifesto experience ────────────────────────────────────────────────── */

body.apps-page[data-app-page="manifesto"] .art-apps-shell {
  max-width: 1480px;
}

.art-apps-manifesto-field {
  position: relative;
  padding: 64px 0 260px;
}

.art-apps-manifesto-lines {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: visible;
  z-index: 2;
}

/* Texte centré — large typographie éditoriale */
.art-apps-manifesto-text {
  position: relative;
  z-index: 3;
  max-width: min(660px, 82vw);
  margin: 0 auto;
}

body.apps-page[data-app-page="manifesto"] .art-apps-manifesto-para {
  min-height: 1em;
  margin: 0 0 1.5em;
  font-size: clamp(24px, 4vw, 52px);
  line-height: 1.14;
  color: #000;
  max-width: none;
  letter-spacing: -0.02em;
}

body.apps-page[data-app-page="manifesto"] .art-apps-manifesto-lead {
  font-size: clamp(30px, 5.2vw, 64px);
  line-height: 1.08;
  font-weight: 400;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-style: italic;
  letter-spacing: -0.025em;
  margin-bottom: 1.4em;
  padding-bottom: 1.2em;
  border-bottom: 1px solid #000;
}

/* Syntagm — capsule, hérite de la taille du texte courant */
.art-apps-manifesto-syntagm {
  display: inline;
  background: none;
  font-style: normal;
  text-decoration: none;
  border: 1.5px solid rgba(0, 0, 0, 0.6);
  border-radius: 1em;
  padding: 0.05em 0.45em;
  /* override du reset global .art-apps-shell span { font-size: 15px } */
  font-size: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
}

/* Cursor */
.art-apps-manifesto-cursor {
  display: inline-block;
  width: 3px;
  height: 0.82em;
  background: #000;
  vertical-align: baseline;
  position: relative;
  top: 0.08em;
  margin-left: 2px;
  animation: manifesto-cursor-blink 900ms step-end infinite;
}

@keyframes manifesto-cursor-blink {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0; }
}

/* Constellation — overlay absolu sur le field entier */
/* Spécificité élevée pour écraser le reset global aside {} */
.art-apps-manifesto-constellation {
  display: none;
}

@media (min-width: 1000px) {
  body.apps-page[data-app-page="manifesto"] #art-apps-root aside.art-apps-manifesto-constellation {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    pointer-events: none;
    z-index: 4;
  }
}

/* Fragment cards — masquées sur mobile */
.art-apps-manifesto-fragment {
  display: none;
}

@media (min-width: 1000px) {
  .art-apps-manifesto-fragment {
    display: block;
    position: absolute;
    width: 188px;
    pointer-events: auto;
    opacity: 0;
    animation: manifesto-fragment-in 480ms ease forwards;
  }
}

@keyframes manifesto-fragment-in {
  from { opacity: 0; transform: translateY(7px); }
  to   { opacity: 1; transform: none; }
}

/* ── Fragment types — capsule uniforme (même vocabulaire que syntagm) ─ */
.art-apps-manifesto-fragment--book,
.art-apps-manifesto-fragment--paper,
.art-apps-manifesto-fragment--article,
.art-apps-manifesto-fragment--stat,
.art-apps-manifesto-fragment--news {
  background: #fff;
  border: 1.5px solid rgba(0, 0, 0, 0.55);
  border-radius: 1em;
  padding: 0.75em 1em 0.85em;
  overflow: hidden;
}

/* Couverture livre */
.art-apps-manifesto-fragment__img {
  display: block;
  width: calc(100% + 2em);
  margin: -0.75em -1em 0.65em;
  height: 100px;
  object-fit: cover;
  object-position: center top;
}

/* Grand chiffre stat */
body.apps-page[data-app-page="manifesto"] .art-apps-manifesto-fragment__stat-value {
  display: block;
  font-family: "Courier New", Courier, monospace;
  font-size: clamp(26px, 2.6vw, 36px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
  color: #000;
  margin-bottom: 7px;
  max-width: none;
}

/* Domain / label source */
body.apps-page[data-app-page="manifesto"] .art-apps-manifesto-fragment__domain {
  display: block;
  font-family: "Courier New", Courier, monospace;
  font-size: 7px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0.38);
  margin-bottom: 7px;
  max-width: none;
}

/* Titre — Roboto italique */
body.apps-page[data-app-page="manifesto"] .art-apps-manifesto-fragment__title {
  display: block;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-style: italic;
  font-size: 11px;
  line-height: 1.46;
  color: #000;
  margin: 0 0 6px;
  max-width: none;
}

/* Abstract — Roboto italique tronqué */
body.apps-page[data-app-page="manifesto"] .art-apps-manifesto-fragment__abstract {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-style: italic;
  font-size: 9px;
  line-height: 1.55;
  color: rgba(0, 0, 0, 0.54);
  margin: 0 0 6px;
  max-width: none;
}

/* Auteur */
body.apps-page[data-app-page="manifesto"] .art-apps-manifesto-fragment__author {
  display: block;
  font-family: "Courier New", Courier, monospace;
  font-size: 8px;
  color: rgba(0, 0, 0, 0.36);
  max-width: none;
}

/* Contenu texte (news / stat) */
body.apps-page[data-app-page="manifesto"] .art-apps-manifesto-fragment__content {
  display: block;
  font-family: "Courier New", Courier, monospace;
  font-size: 10px;
  line-height: 1.58;
  color: rgba(0, 0, 0, 0.7);
  margin: 0 0 5px;
  max-width: none;
}

/* Source / date */
body.apps-page[data-app-page="manifesto"] .art-apps-manifesto-fragment__source {
  display: block;
  font-family: "Courier New", Courier, monospace;
  font-size: 7.5px;
  letter-spacing: 0.04em;
  color: rgba(0, 0, 0, 0.3);
  max-width: none;
}

/* SVG — traces fantômes persistantes */
.art-apps-manifesto-path {
  fill: none;
  stroke: rgba(0, 0, 0, 0.24);
  stroke-width: 1;
  opacity: 1;
  transition: opacity 2400ms ease;
}

.art-apps-manifesto-path.is-fading {
  opacity: 0.05;
}

/* Mobile */
@media (max-width: 999px) {
  .art-apps-manifesto-field {
    padding: 28px 0 60px;
  }

  .art-apps-manifesto-lines {
    display: none;
  }
}

@media (min-width: 900px) and (max-width: 1199px) {
  .art-apps-manifesto-display-title {
    font-size: clamp(48px, 7vw, 92px);
    line-height: 0.85;
    letter-spacing: -0.02em;
    white-space: normal;
    text-wrap: balance;
  }
}

@media screen and (max-width: 899px) {
  .art-apps-manifesto-banner .art-apps-index-banner-meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 8px;
    margin-top: 8px;
  }

  .art-apps-manifesto-banner-meta__group {
    justify-content: space-between;
    gap: 8px;
  }

  .art-apps-manifesto-backlink {
    width: 100%;
    margin-top: 4px;
    justify-content: flex-start;
  }
}

.art-apps-project-head {
  padding-bottom: 14px;
  margin-bottom: 18px;
  border-bottom: 1px solid #000;
}

.art-apps-project-meta {
  margin-bottom: 10px;
}

.art-apps-project-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
  gap: 24px;
  align-items: start;
}

.art-apps-section {
  padding-top: 12px;
  margin-top: 12px;
  border-top: 1px solid #000;
}

.art-apps-section:first-child {
  margin-top: 0;
}

.art-apps-section p {
  margin: 0 0 10px;
}

.art-apps-bullet-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.art-apps-bullet-list li {
  position: relative;
  padding-left: 14px;
}

.art-apps-bullet-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #000;
}

.art-apps-visual {
  min-height: 420px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 24px;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.035), rgba(0, 0, 0, 0)),
    repeating-linear-gradient(
      -45deg,
      rgba(0, 0, 0, 0.024),
      rgba(0, 0, 0, 0.024) 10px,
      rgba(255, 255, 255, 0) 10px,
      rgba(255, 255, 255, 0) 20px
    ),
    #fff;
}

.art-apps-visual-copy p {
  margin: 6px 0 0;
  max-width: 34ch;
}

.art-apps-visual-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.art-apps-related-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 10px;
}

.art-apps-related-link {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.art-apps-related-link span {
  opacity: 0.72;
}

.art-apps-backlink {
  display: inline-flex;
  margin-top: 16px;
}

.art-apps-backlink a {
  text-decoration: none;
}

.art-apps-backlink a::before {
  content: "←";
  margin-right: 6px;
}

body.apps-page[data-app-page="project"] {
  background: #edf1f4;
}

body.apps-page[data-app-page="project"] .art-apps-root {
  padding-top: 82px;
}

.art-apps-shell--project {
  max-width: 1520px;
}

.art-apps-project-page {
  --art-project-bg: #ffffff;
  --art-project-ink: #000000;
  --art-project-line: #000000;
  --art-project-muted: rgba(0, 0, 0, 0.72);
  --art-project-soft: #f4f6f8;
  display: grid;
  gap: 16px;
}

.art-apps-project-head--interface {
  margin: 0;
  padding: 16px 20px 14px;
  border: 1px solid var(--art-project-line);
  background: var(--art-project-bg);
  color: var(--art-project-ink);
  display: grid;
  gap: 10px;
}

.art-apps-project-head__topline {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
}

.art-apps-project-head__copy {
  min-width: 0;
  display: grid;
  gap: 6px;
}

.art-apps-project-page .art-apps-inline-meta {
  border-color: var(--art-project-line);
  background: color-mix(in srgb, var(--art-project-bg) 88%, transparent);
  color: var(--art-project-ink);
}

.art-apps-project-page .art-apps-backlink a,
.art-apps-project-page .art-apps-notes-panel summary,
.art-apps-project-page .art-apps-related--panel h2 {
  color: var(--art-project-ink);
}

.art-apps-project-page .art-apps-notes-panel__body,
.art-apps-project-page .art-apps-notes-panel__body p,
.art-apps-project-page .art-apps-notes-panel__body li,
.art-apps-project-page .art-apps-related-link span {
  color: var(--art-project-muted);
}

.art-apps-project-head--interface .art-apps-project-intro,
.art-apps-project-head--interface h1 {
  max-width: 60ch;
}

.art-apps-project-head--interface h1 {
  font-size: clamp(26px, 3vw, 40px);
  line-height: 0.95;
  letter-spacing: -0.03em;
}

.art-apps-project-head--interface .art-apps-project-intro {
  color: var(--art-project-muted);
}

.art-apps-project-workbench {
  display: block;
}

.art-apps-project-workbench__main,
.art-apps-project-notes,
.art-apps-module__controlpane,
.art-apps-module__stage {
  min-width: 0;
}

.art-apps-project-notes {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.art-apps-notes-panel,
.art-apps-related--panel {
  border: 1px solid var(--art-project-line);
  background: var(--art-project-bg);
  color: var(--art-project-ink);
}

.art-apps-notes-panel summary {
  list-style: none;
  cursor: url(../img/mickeyhand.png), pointer !important;
  padding: 12px 14px 11px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-size: 13px;
  line-height: 1.1;
}

.art-apps-notes-panel summary::-webkit-details-marker {
  display: none;
}

.art-apps-notes-panel summary::after {
  content: "+";
  font-family: "TwoMontrouge", Helvetica, sans-serif;
  font-size: 18px;
  line-height: 1;
}

.art-apps-notes-panel[open] summary::after {
  content: "−";
}

.art-apps-notes-panel__body {
  padding: 0 14px 14px;
  border-top: 1px solid var(--art-project-line);
}

.art-apps-notes-panel__body p:last-child,
.art-apps-notes-panel__body ul:last-child {
  margin-bottom: 0;
}

body.apps-page[data-app-page="project"] .art-apps-related--panel {
  padding: 14px;
}

body.apps-page[data-app-page="project"] .art-apps-related--panel h2 {
  font-size: 15px;
  line-height: 1.1;
}

body.apps-page[data-app-page="project"] .art-apps-related-list {
  margin-top: 12px;
}

body.apps-page[data-app-page="project"] .art-apps-related-link {
  align-items: flex-start;
  padding: 8px 0;
  border-bottom: 1px solid color-mix(in srgb, var(--art-project-line) 14%, transparent);
}

body.apps-page[data-app-page="project"] .art-apps-related-link:last-child {
  border-bottom: 0;
}

body.apps-page[data-app-page="project"] .art-apps-module {
  --art-app-bg: #fff;
  --art-app-ink: #000;
  --art-app-line: #000;
  --art-app-muted: rgba(0, 0, 0, 0.68);
  --art-app-soft: #f1f4f7;
  --art-app-card: #f7f9fb;
  --art-app-button-bg: #fff;
  --art-app-button-ink: #000;
  --art-app-button-hover-bg: #000;
  --art-app-button-hover-ink: #fff;
  --art-app-chip-bg: #fff;
  --art-app-chip-ink: #000;
  --art-app-chip-line: #000;
  --art-app-shadow: none;
  padding: 0;
  gap: 0;
  border: 1px solid var(--art-app-line);
  border-radius: 0;
  overflow: hidden;
  background: var(--art-app-bg);
  color: var(--art-app-ink);
  box-shadow: var(--art-app-shadow);
}

body.apps-page[data-app-page="project"] .art-apps-module .art-apps-chip {
  background: var(--art-app-chip-bg);
  border-color: var(--art-app-chip-line);
  color: var(--art-app-chip-ink);
}

body.apps-page[data-app-page="project"] .art-apps-module__header {
  gap: 10px;
  padding: 18px 20px 16px;
  border-bottom: 1px solid var(--art-app-line);
  background: var(--art-app-bg);
}

body.apps-page[data-app-page="project"] .art-apps-module__header-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

body.apps-page[data-app-page="project"] .art-apps-module__header h2 {
  font-size: clamp(24px, 2.4vw, 34px);
  line-height: 0.98;
  letter-spacing: -0.03em;
}

body.apps-page[data-app-page="project"] .art-apps-module__header p {
  max-width: 70ch;
  color: var(--art-app-muted);
}

body.apps-page[data-app-page="project"] .art-apps-module__summaryline {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  min-height: 22px;
  padding: 5px 10px 4px;
  border: 1px solid var(--art-app-line);
  background: var(--art-app-card);
  color: var(--art-app-muted);
  font-size: 11px;
  line-height: 1.1;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

body.apps-page[data-app-page="project"] .art-apps-module__workspace {
  display: grid;
  grid-template-columns: minmax(280px, 0.82fr) minmax(0, 1.18fr);
  min-height: 620px;
}

body.apps-page[data-app-page="project"] .art-apps-module__workspace--glossary {
  grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1.28fr);
}

body.apps-page[data-app-page="project"] .art-apps-module__controlpane {
  padding: 18px 20px 20px;
  border-right: 1px solid var(--art-app-line);
  background: var(--art-app-soft);
}

body.apps-page[data-app-page="project"] .art-apps-module__form {
  gap: 14px;
}

body.apps-page[data-app-page="project"] .art-apps-module__block {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--art-app-line);
  background: var(--art-app-bg);
}

body.apps-page[data-app-page="project"] .art-apps-module__block-head {
  display: grid;
  gap: 4px;
}

body.apps-page[data-app-page="project"] .art-apps-module__block-head h3 {
  font-size: 14px;
  line-height: 1.1;
}

body.apps-page[data-app-page="project"] .art-apps-module__block-head p {
  margin: 0;
  color: var(--art-app-muted);
}

body.apps-page[data-app-page="project"] .art-apps-module__guide {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--art-app-line);
  background: var(--art-app-bg);
}

body.apps-page[data-app-page="project"] .art-apps-module__guide--direct {
  gap: 14px;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--art-app-soft) 88%, transparent), transparent 82%),
    var(--art-app-bg);
}

body.apps-page[data-app-page="project"] .art-apps-module__guide-head {
  display: grid;
  gap: 4px;
}

body.apps-page[data-app-page="project"] .art-apps-module__guide-head p {
  margin: 0;
  color: var(--art-app-muted);
}

body.apps-page[data-app-page="project"] .art-apps-module__guide-steps {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 6px;
}

body.apps-page[data-app-page="project"] .art-apps-module__guide-steps--numbered {
  counter-reset: art-app-guide-step;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

body.apps-page[data-app-page="project"] .art-apps-module__guide-steps li {
  position: relative;
  padding-left: 14px;
}

body.apps-page[data-app-page="project"] .art-apps-module__guide-steps li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--art-app-ink);
}

body.apps-page[data-app-page="project"] .art-apps-module__guide-steps--numbered li {
  min-height: 100%;
  padding: 12px 12px 12px 38px;
  border: 1px solid var(--art-app-line);
  background: var(--art-app-card);
}

body.apps-page[data-app-page="project"] .art-apps-module__guide-steps--numbered li::before {
  counter-increment: art-app-guide-step;
  content: counter(art-app-guide-step);
  top: 10px;
  left: 10px;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: var(--art-app-ink);
  color: var(--art-app-bg);
  font-size: 11px;
  line-height: 18px;
  text-align: center;
}

body.apps-page[data-app-page="project"] .art-apps-module__guide-presets {
  display: grid;
  gap: 6px;
}

body.apps-page[data-app-page="project"] .art-apps-module__preset-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

body.apps-page[data-app-page="project"] .art-apps-module__preset-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

body.apps-page[data-app-page="project"] .art-apps-module__preset {
  appearance: none;
  -webkit-appearance: none;
  border: 1px solid var(--art-app-line);
  background: var(--art-app-button-bg);
  color: var(--art-app-button-ink);
  padding: 6px 9px 5px;
  border-radius: 11px;
  cursor: url(../img/mickeyhand.png), pointer !important;
  font-family: "TwoMontrouge", Helvetica, sans-serif;
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

body.apps-page[data-app-page="project"] .art-apps-module__preset:hover {
  background: var(--art-app-button-hover-bg);
  color: var(--art-app-button-hover-ink);
}

body.apps-page[data-app-page="project"] .art-apps-module__preset--card {
  min-height: 78px;
  padding: 12px;
  border-radius: 0;
  display: grid;
  align-content: start;
  justify-items: start;
  gap: 6px;
  text-align: left;
}

body.apps-page[data-app-page="project"] .art-apps-module__preset--card strong {
  font-size: 13px;
  line-height: 1.05;
  font-weight: 400;
}

body.apps-page[data-app-page="project"] .art-apps-module__preset--card span {
  color: var(--art-app-muted);
  font-size: 12px;
  line-height: 1.25;
  text-transform: none;
  letter-spacing: 0;
}

body.apps-page[data-app-page="project"] .art-apps-module__preset--card:hover span {
  color: inherit;
}

body.apps-page[data-app-page="project"] .art-apps-module__field {
  gap: 8px;
}

body.apps-page[data-app-page="project"] .art-apps-module__field label,
body.apps-page[data-app-page="project"] .art-apps-module__eyebrow,
body.apps-page[data-app-page="project"] .art-apps-module__empty,
body.apps-page[data-app-page="project"] .art-apps-module__hint,
body.apps-page[data-app-page="project"] .art-apps-glossary-card__meta {
  color: var(--art-app-muted);
  opacity: 1;
}

body.apps-page[data-app-page="project"] .art-apps-module__field input,
body.apps-page[data-app-page="project"] .art-apps-module__field textarea,
body.apps-page[data-app-page="project"] .art-apps-module__field select,
body.apps-page[data-app-page="project"] .art-apps-glossary-search {
  min-height: 48px;
  border-color: var(--art-app-line);
  background: var(--art-app-bg);
  color: var(--art-app-ink);
  padding: 12px 12px 10px;
}

body.apps-page[data-app-page="project"] .art-apps-module__field textarea {
  min-height: 160px;
}

body.apps-page[data-app-page="project"] .art-apps-module__inline-control {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}

body.apps-page[data-app-page="project"] .art-apps-module__button,
body.apps-page[data-app-page="project"] .art-apps-glossary-list button {
  border-color: var(--art-app-line);
  background: var(--art-app-button-bg);
  color: var(--art-app-button-ink);
}

body.apps-page[data-app-page="project"] .art-apps-module__actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

body.apps-page[data-app-page="project"] .art-apps-module__actions .art-apps-module__button {
  min-height: 36px;
  padding: 9px 11px 8px;
  border-radius: 0;
  font-size: 11px;
}

body.apps-page[data-app-page="project"] .art-apps-module__actions .art-apps-module__button:first-child {
  background: var(--art-app-button-hover-bg);
  border-color: var(--art-app-button-hover-bg);
  color: var(--art-app-button-hover-ink);
}

body.apps-page[data-app-page="project"] .art-apps-module__button:hover,
body.apps-page[data-app-page="project"] .art-apps-glossary-list button:hover,
body.apps-page[data-app-page="project"] .art-apps-glossary-list button.is-active {
  background: var(--art-app-button-hover-bg);
  border-color: var(--art-app-button-hover-bg);
  color: var(--art-app-button-hover-ink);
}

body.apps-page[data-app-page="project"] .art-apps-module__button--ghost {
  flex: 0 0 auto;
}

body.apps-page[data-app-page="project"] .art-apps-module__stage {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 18px 20px 20px;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--art-app-soft) 22%, transparent), transparent 24%),
    repeating-linear-gradient(
      0deg,
      color-mix(in srgb, var(--art-app-line) 7%, transparent),
      color-mix(in srgb, var(--art-app-line) 7%, transparent) 1px,
      transparent 1px,
      transparent 32px
    ),
    var(--art-app-bg);
}

body.apps-page[data-app-page="project"] .art-apps-module__stage-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid color-mix(in srgb, var(--art-app-line) 18%, transparent);
}

body.apps-page[data-app-page="project"] .art-apps-module__status {
  min-height: 16px;
  font-size: 11px;
  line-height: 1.25;
  color: var(--art-app-muted);
}

body.apps-page[data-app-page="project"] .art-apps-module__preview {
  display: grid;
  gap: 10px;
}

body.apps-page[data-app-page="project"] .art-apps-module__preview-card {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(260px, 0.95fr);
  min-height: 240px;
  border: 1px solid var(--art-app-line);
  background: var(--art-app-card);
  overflow: hidden;
}

body.apps-page[data-app-page="project"] .art-apps-module__preview-card.is-fallback {
  grid-template-columns: 1fr;
  min-height: 180px;
}

body.apps-page[data-app-page="project"] .art-apps-module__preview-media {
  position: relative;
  min-height: 100%;
  background: color-mix(in srgb, var(--art-app-soft) 86%, transparent);
}

body.apps-page[data-app-page="project"] .art-apps-module__preview-media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 240px;
  object-fit: cover;
  filter: contrast(1.02) saturate(0.94);
}

body.apps-page[data-app-page="project"] .art-apps-module__preview-placeholder {
  display: grid;
  place-items: center;
  min-height: 100%;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--art-app-soft) 92%, transparent), transparent),
    repeating-linear-gradient(
      135deg,
      color-mix(in srgb, var(--art-app-line) 10%, transparent),
      color-mix(in srgb, var(--art-app-line) 10%, transparent) 1px,
      transparent 1px,
      transparent 20px
    ),
    var(--art-app-soft);
}

body.apps-page[data-app-page="project"] .art-apps-module__preview-placeholder span {
  padding: 8px 12px;
  border: 1px solid var(--art-app-line);
  background: var(--art-app-bg);
  color: var(--art-app-ink);
  font-size: 11px;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.apps-page[data-app-page="project"] .art-apps-module__preview-copy {
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 14px;
}

body.apps-page[data-app-page="project"] .art-apps-module__preview-meta,
body.apps-page[data-app-page="project"] .art-apps-module__preview-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 12px;
}

body.apps-page[data-app-page="project"] .art-apps-module__preview-domain,
body.apps-page[data-app-page="project"] .art-apps-module__preview-source {
  color: var(--art-app-muted);
  font-size: 11px;
  line-height: 1.2;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

body.apps-page[data-app-page="project"] .art-apps-module__preview-title {
  margin: 0;
  font-size: clamp(20px, 2vw, 30px);
  line-height: 0.98;
  letter-spacing: -0.03em;
}

body.apps-page[data-app-page="project"] .art-apps-module__preview-excerpt {
  margin: 0;
  color: var(--art-app-muted);
}

body.apps-page[data-app-page="project"] .art-apps-module__preview-link {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 5px 10px 4px;
  border: 1px solid var(--art-app-line);
  background: var(--art-app-bg);
  color: var(--art-app-ink);
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0.06em;
  text-decoration: none;
  text-transform: uppercase;
}

body.apps-page[data-app-page="project"] .art-apps-module__preview-link.is-disabled {
  color: var(--art-app-muted);
}

body.apps-page[data-app-page="project"] .art-apps-module__result,
body.apps-page[data-app-page="project"] .art-apps-glossary-card {
  min-height: 100%;
  align-content: start;
  padding-top: 0;
  border-top: 0;
}

body.apps-page[data-app-page="project"] .art-apps-module__leadcard,
body.apps-page[data-app-page="project"] .art-apps-glossary-card {
  border: 1px solid var(--art-app-line);
  background: var(--art-app-card);
  padding: 16px;
}

body.apps-page[data-app-page="project"] .art-apps-module__headline {
  margin: 4px 0 6px;
  font-size: clamp(22px, 2.2vw, 34px);
  line-height: 0.98;
  letter-spacing: -0.03em;
}

body.apps-page[data-app-page="project"] .art-apps-module__lede {
  margin: 0;
  color: var(--art-app-muted);
}

body.apps-page[data-app-page="project"] .art-apps-module__source-list {
  display: grid;
  gap: 8px;
  max-height: 180px;
  overflow-y: auto;
  padding-right: 2px;
}

body.apps-page[data-app-page="project"] .art-apps-module__source {
  border: 1px solid var(--art-app-line);
  background: var(--art-app-bg);
  color: var(--art-app-ink);
  text-align: left;
  padding: 10px 11px;
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  cursor: url(../img/mickeyhand.png), pointer !important;
}

body.apps-page[data-app-page="project"] .art-apps-module__source strong,
body.apps-page[data-app-page="project"] .art-apps-module__source span,
body.apps-page[data-app-page="project"] .art-apps-module__source em {
  display: block;
}

body.apps-page[data-app-page="project"] .art-apps-module__source-thumb {
  position: relative;
  width: 68px;
  aspect-ratio: 1 / 1;
  border: 1px solid var(--art-app-line);
  background: color-mix(in srgb, var(--art-app-soft) 86%, transparent);
  overflow: hidden;
}

body.apps-page[data-app-page="project"] .art-apps-module__source-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.apps-page[data-app-page="project"] .art-apps-module__source-thumb-fallback {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.apps-page[data-app-page="project"] .art-apps-module__source-copy {
  display: grid;
  gap: 4px;
}

body.apps-page[data-app-page="project"] .art-apps-module__source span {
  color: var(--art-app-muted);
  font-size: 12px;
  line-height: 1.25;
}

body.apps-page[data-app-page="project"] .art-apps-module__source em {
  color: var(--art-app-muted);
  font-size: 10px;
  line-height: 1.1;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-style: normal;
}

body.apps-page[data-app-page="project"] .art-apps-module__source.is-active {
  background: var(--art-app-button-hover-bg);
  border-color: var(--art-app-button-hover-bg);
  color: var(--art-app-button-hover-ink);
}

body.apps-page[data-app-page="project"] .art-apps-module__source.is-active span {
  color: rgba(255, 255, 255, 0.78);
}

body.apps-page[data-app-page="project"] .art-apps-module__source.is-active em {
  color: rgba(255, 255, 255, 0.72);
}

body.apps-page[data-app-page="project"] .art-apps-module__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

body.apps-page[data-app-page="project"] .art-apps-module__tag {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 5px 9px 4px;
  border-radius: 999px;
  border: 1px solid var(--art-app-line);
  background: var(--art-app-bg);
  font-size: 11px;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

body.apps-page[data-app-page="project"] .art-apps-module__tier-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

body.apps-page[data-app-page="project"] .art-apps-module__tier {
  border: 1px solid var(--art-app-line);
  background: var(--art-app-card);
  padding: 14px;
  display: grid;
  gap: 6px;
}

body.apps-page[data-app-page="project"] .art-apps-module__tier strong {
  font-size: 22px;
  line-height: 1;
  font-weight: 400;
}

body.apps-page[data-app-page="project"] .art-apps-module__tier p {
  margin: 0;
  color: var(--art-app-muted);
}

body.apps-page[data-app-page="project"] .art-apps-module__metrics {
  display: grid;
  gap: 10px;
}

body.apps-page[data-app-page="project"] .art-apps-module__metric {
  display: grid;
  gap: 6px;
}

body.apps-page[data-app-page="project"] .art-apps-module__metric-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

body.apps-page[data-app-page="project"] .art-apps-module__metric-bar {
  height: 8px;
  border: 1px solid var(--art-app-line);
  background: var(--art-app-bg);
}

body.apps-page[data-app-page="project"] .art-apps-module__metric-bar span {
  display: block;
  height: 100%;
  background: var(--art-app-ink);
}

body.apps-page[data-app-page="project"] .art-apps-module__statements {
  display: grid;
  gap: 10px;
}

body.apps-page[data-app-page="project"] .art-apps-module__statement-block {
  border: 1px solid var(--art-app-line);
  background: var(--art-app-card);
  padding: 14px;
  display: grid;
  gap: 6px;
}

body.apps-page[data-app-page="project"] .art-apps-module__statement-block p {
  margin: 0;
  color: var(--art-app-muted);
}

body.apps-page[data-app-page="project"] .art-apps-module__row {
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 16px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}

body.apps-page[data-app-page="project"] .art-apps-module__term {
  color: var(--art-app-muted);
}

body.apps-page[data-app-page="project"] .art-apps-module--brand-mutation-generator {
  --art-app-bg: #f5f5f7;
  --art-app-ink: #1d1d1f;
  --art-app-line: rgba(29, 29, 31, 0.1);
  --art-app-muted: rgba(29, 29, 31, 0.56);
  --art-app-soft: #e8e8ed;
  --art-app-card: #ffffff;
  --art-app-button-bg: #1d1d1f;
  --art-app-button-ink: #f5f5f7;
  --art-app-button-hover-bg: #cc1e00;
  --art-app-button-hover-ink: #fff;
  --art-app-chip-bg: rgba(29, 29, 31, 0.06);
  --art-app-chip-ink: #1d1d1f;
  --art-app-chip-line: rgba(29, 29, 31, 0.18);
  --art-app-shadow: 0 2px 12px rgba(0, 0, 0, 0.06), 0 0 0 1px rgba(0,0,0,0.05);
}

body.apps-page[data-app-page="project"][data-app-slug="brand-mutation-generator"] {
  background: #f5f5f7;
}

.art-apps-project-page--brand-mutation-generator {
  --art-project-bg: #f5f5f7;
  --art-project-ink: #1d1d1f;
  --art-project-line: rgba(29, 29, 31, 0.1);
  --art-project-muted: rgba(29, 29, 31, 0.56);
  --art-project-soft: #e8e8ed;
}

body.apps-page[data-app-page="project"] .art-apps-module--translator-of-technological-news-into-human-consequences {
  --art-app-bg: #10131b;
  --art-app-ink: #f3f6fb;
  --art-app-line: rgba(255, 255, 255, 0.16);
  --art-app-muted: rgba(243, 246, 251, 0.68);
  --art-app-soft: rgba(255, 255, 255, 0.03);
  --art-app-card: rgba(255, 255, 255, 0.04);
  --art-app-button-bg: rgba(255, 255, 255, 0.04);
  --art-app-button-ink: #f3f6fb;
  --art-app-button-hover-bg: #c8d9ff;
  --art-app-button-hover-ink: #10131b;
  --art-app-chip-bg: rgba(255, 255, 255, 0.05);
  --art-app-chip-ink: #f3f6fb;
  --art-app-chip-line: rgba(255, 255, 255, 0.16);
  --art-app-shadow: 0 18px 44px rgba(0, 0, 0, 0.18);
}

body.apps-page[data-app-page="project"][data-app-slug="translator-of-technological-news-into-human-consequences"] {
  background: #0e1219;
}

.art-apps-project-page--translator-of-technological-news-into-human-consequences {
  --art-project-bg: #10131b;
  --art-project-ink: #f3f6fb;
  --art-project-line: rgba(255, 255, 255, 0.16);
  --art-project-muted: rgba(243, 246, 251, 0.68);
  --art-project-soft: rgba(255, 255, 255, 0.03);
}

body.apps-page[data-app-page="project"] .art-apps-module--emotion-as-a-service {
  --art-app-bg: #fff7f1;
  --art-app-ink: #19120f;
  --art-app-line: #19120f;
  --art-app-muted: rgba(25, 18, 15, 0.68);
  --art-app-soft: #ffe8dd;
  --art-app-card: #fffdf8;
  --art-app-button-bg: #fffdf8;
  --art-app-button-ink: #19120f;
  --art-app-button-hover-bg: #19120f;
  --art-app-button-hover-ink: #fff7f1;
  --art-app-chip-bg: #fffdf8;
  --art-app-chip-ink: #19120f;
  --art-app-chip-line: #19120f;
}

body.apps-page[data-app-page="project"][data-app-slug="emotion-as-a-service"] {
  background: #f8efe8;
}

.art-apps-project-page--emotion-as-a-service {
  --art-project-bg: #fff7f1;
  --art-project-ink: #19120f;
  --art-project-line: #19120f;
  --art-project-muted: rgba(25, 18, 15, 0.68);
  --art-project-soft: #ffe8dd;
}

body.apps-page[data-app-page="project"] .art-apps-module--desire-interface {
  --art-app-bg: #eef5ff;
  --art-app-ink: #111827;
  --art-app-line: #111827;
  --art-app-muted: rgba(17, 24, 39, 0.66);
  --art-app-soft: #dfeaf8;
  --art-app-card: #f8fbff;
  --art-app-button-bg: #f8fbff;
  --art-app-button-ink: #111827;
  --art-app-button-hover-bg: #111827;
  --art-app-button-hover-ink: #eef5ff;
  --art-app-chip-bg: #f8fbff;
  --art-app-chip-ink: #111827;
  --art-app-chip-line: #111827;
}

body.apps-page[data-app-page="project"][data-app-slug="desire-interface"] {
  background: #e5eff8;
}

.art-apps-project-page--desire-interface {
  --art-project-bg: #eef5ff;
  --art-project-ink: #111827;
  --art-project-line: #111827;
  --art-project-muted: rgba(17, 24, 39, 0.66);
  --art-project-soft: #dfeaf8;
}

body.apps-page[data-app-page="project"] .art-apps-module--glossary-of-hybrid-futures {
  --art-app-bg: #f5f5f2;
  --art-app-ink: #141414;
  --art-app-line: #141414;
  --art-app-muted: rgba(20, 20, 20, 0.66);
  --art-app-soft: #ecebe5;
  --art-app-card: #fbfbf8;
  --art-app-button-bg: #fbfbf8;
  --art-app-button-ink: #141414;
  --art-app-button-hover-bg: #141414;
  --art-app-button-hover-ink: #f5f5f2;
  --art-app-chip-bg: #fbfbf8;
  --art-app-chip-ink: #141414;
  --art-app-chip-line: #141414;
}

body.apps-page[data-app-page="project"][data-app-slug="glossary-of-hybrid-futures"] {
  background: #ebeae4;
}

.art-apps-project-page--glossary-of-hybrid-futures {
  --art-project-bg: #f5f5f2;
  --art-project-ink: #141414;
  --art-project-line: #141414;
  --art-project-muted: rgba(20, 20, 20, 0.66);
  --art-project-soft: #ecebe5;
}

body.apps-page[data-app-page="project"] .art-apps-module--corporate-confession-generator {
  --art-app-bg: #fff;
  --art-app-ink: #151515;
  --art-app-line: #151515;
  --art-app-muted: rgba(21, 21, 21, 0.66);
  --art-app-soft: #f0f0f0;
  --art-app-card: #fafafa;
  --art-app-button-bg: #fff;
  --art-app-button-ink: #151515;
  --art-app-button-hover-bg: #151515;
  --art-app-button-hover-ink: #fff;
  --art-app-chip-bg: #fff;
  --art-app-chip-ink: #151515;
  --art-app-chip-line: #151515;
}

body.apps-page[data-app-page="project"][data-app-slug="corporate-confession-generator"] {
  background: #efefef;
}

.art-apps-project-page--corporate-confession-generator {
  --art-project-bg: #ffffff;
  --art-project-ink: #151515;
  --art-project-line: #151515;
  --art-project-muted: rgba(21, 21, 21, 0.66);
  --art-project-soft: #f0f0f0;
}

body.apps-page[data-app-page="project"] .art-apps-module__value strong {
  margin-bottom: 4px;
  font-size: 19px;
  line-height: 1;
}

body.apps-page[data-app-page="project"] .art-apps-glossary {
  gap: 12px;
}

body.apps-page[data-app-page="project"] .art-apps-glossary-list {
  align-content: flex-start;
}

.art-apps-footer-trigger {
  appearance: none;
  -webkit-appearance: none;
  cursor: url(../img/mickeyhand.png), pointer !important;
  pointer-events: auto;
  text-decoration: none;
  gap: 6px;
  padding: 1px 8px;
}

body.apps-page .mobile-floating-cta__bar {
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

body.apps-page .mobile-floating-cta__bar::-webkit-scrollbar {
  display: none;
}

body.apps-page .mobile-floating-cta__bar > * {
  flex: 0 0 auto;
}

.art-apps-footer-trigger__plus {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 15px;
  height: 15px;
  font-family: "TwoMontrouge", Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1;
  transform: translateY(1px);
}

.art-apps-footer-trigger--desktop {
  display: none;
}

@media screen and (min-width: 900px) {
  .art-apps-footer-trigger--desktop {
    display: inline-flex;
    position: fixed;
    bottom: 15px;
    z-index: 541;
    transform: translateY(50%);
  }
}

body.floating-cta-under .art-apps-footer-trigger--desktop,
body.floating-cta-under .art-apps-footer-trigger--mobile {
  opacity: 0;
  pointer-events: none;
}

body.works-page.works-zoom-active .art-apps-footer-trigger,
body.works-page.works-zoom-active .art-apps-footer-menu,
body.works-page.works-zoom-active .art-apps-footer-backdrop {
  opacity: 0;
  pointer-events: none;
}

.art-apps-footer-backdrop {
  position: fixed;
  inset: 0;
  z-index: 688;
  border: 0;
  margin: 0;
  padding: 0;
  background: rgba(255, 255, 255, 0.01);
  opacity: 0;
  pointer-events: none;
  transition: opacity 180ms ease;
}

.art-apps-footer-menu {
  position: fixed;
  left: 15px;
  right: 15px;
  bottom: calc(env(safe-area-inset-bottom, 0px) + 35px);
  z-index: 690;
  border: 1px solid #000;
  background: #fff;
  padding: 14px 14px 16px;
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  max-height: min(66vh, 560px);
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  transform: translate3d(0, 18px, 0);
  transition:
    transform 220ms cubic-bezier(0.19, 1, 0.22, 1),
    opacity 180ms ease;
  box-shadow: 0 -1px 0 #000;
}

.art-apps-footer-menu__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.art-apps-footer-menu__title {
  text-decoration: none;
}

.art-apps-footer-menu__title strong,
.art-apps-footer-menu__title span {
  display: block;
}

.art-apps-footer-menu__title strong {
  font-size: 30px;
  line-height: 0.94;
  letter-spacing: -0.03em;
  position: relative;
  top: 4px;
}

.art-apps-footer-menu__title span {
  opacity: 0.72;
}

.art-apps-footer-menu__close {
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  background: transparent;
  border-radius: 0;
  padding: 4px 8px;
  margin: 0;
  cursor: url(../img/mickeyhand.png), pointer !important;
  font-family: "TwoMontrouge", Helvetica, sans-serif;
  font-size: 22px;
  line-height: 1;
}

.art-apps-footer-menu__intro {
  margin: 0 0 22px;
  position: relative;
}

.art-apps-footer-menu__intro::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -10px;
  height: 1px;
  background: rgba(0, 0, 0, 0.88);
  animation: art-apps-footer-intro-line-blink 1.6s ease-in-out infinite;
  pointer-events: none;
}

.art-apps-footer-menu__intro-link {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  min-height: 38px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: 8px 36px 8px 14px;
  border: 1px solid #000;
  border-radius: 14px;
  background: #fff;
  color: #000;
  text-decoration: none;
  font-family: "Roboto", Helvetica, sans-serif;
  font-size: 11px;
  line-height: 1.25;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  transition: background 120ms ease, color 120ms ease, transform 120ms ease;
  animation: art-apps-footer-intro-drift 2.6s ease-in-out infinite;
  will-change: transform, background-color, color, border-color;
}

.art-apps-footer-menu__intro-link::after {
  content: "→";
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  line-height: 1;
}

.art-apps-footer-menu__intro-link:hover,
.art-apps-footer-menu__intro-link:focus-visible {
  background: #000;
  color: #fff;
  animation-play-state: paused;
}

.art-apps-footer-menu__manifesto-link {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  position: relative;
  min-height: 38px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin: -8px 0 14px;
  padding: 8px 36px 8px 14px;
  border: 1px solid #000;
  border-radius: 14px;
  background: #fff;
  color: #000;
  text-decoration: none;
  font-family: "Roboto", Helvetica, sans-serif;
  font-size: 11px;
  line-height: 1.25;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  transition: background 120ms ease, color 120ms ease, transform 120ms ease;
  animation: art-apps-footer-intro-drift 2.6s ease-in-out infinite;
  will-change: transform, background-color, color, border-color;
}

.art-apps-footer-menu__manifesto-link::after {
  content: "→";
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  line-height: 1;
}

.art-apps-footer-menu__manifesto-link:hover,
.art-apps-footer-menu__manifesto-link:focus-visible {
  background: #000;
  color: #fff;
  animation-play-state: paused;
}

@keyframes art-apps-footer-intro-drift {
  0% {
    transform: translateX(0);
    background: #fff;
    color: #000;
    border-color: #000;
  }
  50% {
    transform: translateX(3px);
    background: #000;
    color: #fff;
    border-color: #000;
  }
  100% {
    transform: translateX(0);
    background: #fff;
    color: #000;
    border-color: #000;
  }
}

@keyframes art-apps-footer-intro-line-blink {
  0%, 100% {
    opacity: 0.28;
  }
  50% {
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .art-apps-footer-menu__intro-link,
  .art-apps-footer-menu__manifesto-link,
  .art-apps-list-section--intro .art-apps-link--button {
    animation: none;
  }

  .art-apps-footer-menu__intro::after {
    animation: none;
  }
}

.art-apps-footer-menu__list {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  gap: 6px;
  min-height: 0;
  max-height: none;
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 0;
  overscroll-behavior: contain;
}

.art-apps-footer-menu__link {
  display: flex;
  align-items: center;
  gap: 10px;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #000;
  border-radius: 18px;
  padding: 7px 12px 6px;
  text-decoration: none;
}

.art-apps-footer-menu__copy {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
  flex: 1 1 auto;
}

.art-apps-footer-menu__status-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex: 0 0 auto;
  background: #d42314;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.12);
}

.art-apps-footer-menu__link.is-inactive {
  color: rgba(0, 0, 0, 0.56);
  border-color: rgba(0, 0, 0, 0.42);
  background: rgba(0, 0, 0, 0.03);
  filter: grayscale(1) blur(0.45px);
  pointer-events: none;
}

.art-apps-footer-menu__link.is-inactive .art-apps-footer-menu__status-dot {
  background: rgba(0, 0, 0, 0.18);
  box-shadow: none;
}

.art-apps-footer-menu__meta {
  opacity: 0.72;
  white-space: nowrap;
}

.art-apps-footer-menu__link.is-active {
  background: #000;
  color: #fff;
}

.art-apps-footer-menu__link.is-active .art-apps-footer-menu__meta {
  opacity: 0.82;
}

body.art-apps-footer-open .art-apps-footer-backdrop {
  opacity: 1;
  pointer-events: auto;
}

body.art-apps-footer-open .art-apps-footer-menu {
  opacity: 1;
  pointer-events: auto;
  transform: translate3d(0, 0, 0);
}

body.art-apps-footer-open .art-apps-footer-trigger__plus {
  transform: translateY(1px) rotate(45deg);
}

@media screen and (min-width: 900px) {
  .art-apps-footer-menu {
    left: var(--art-apps-footer-left, 260px);
    right: auto;
    width: min(var(--art-apps-footer-width, 380px), calc(100vw - var(--art-apps-footer-left, 260px) - 20px));
    bottom: 58px;
    max-height: min(62vh, 560px);
  }

  .art-apps-footer-menu__list {
    max-height: calc(min(62vh, 560px) - 92px);
  }
}

@media screen and (max-width: 1099px) {
  .art-apps-index-panels {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .art-apps-theme-head {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }

  .art-apps-theme-count {
    justify-content: flex-start;
  }

  .art-apps-project-layout,
  .art-apps-grid,
  .art-apps-entry {
    grid-template-columns: minmax(0, 1fr);
  }

  .art-apps-entry {
    gap: 14px;
  }

  .art-apps-entry-preview {
    max-width: 360px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry--featured-conversation {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "preview"
      "meta"
      "body"
      "link";
    gap: 16px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured {
    gap: 12px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-index-featured__head {
    padding-bottom: 10px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry--featured-conversation .art-apps-entry-preview {
    align-items: flex-start;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry--featured-conversation .art-apps-entry-meta,
  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry--featured-conversation .art-apps-entry-body,
  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry--featured-conversation .art-apps-entry-link {
    align-self: flex-start;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry--featured-conversation .art-apps-entry-meta {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    padding-top: 0;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry--featured-conversation .art-apps-entry-body {
    gap: 12px;
    padding-top: 0;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry--featured-conversation .art-apps-entry-notes {
    grid-template-columns: 1fr;
  }

  .art-apps-project-workbench {
    grid-template-columns: minmax(0, 1fr);
  }

  .art-apps-project-notes {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.apps-page[data-app-page="project"] .art-apps-module__workspace,
  body.apps-page[data-app-page="project"] .art-apps-module__workspace--glossary {
    grid-template-columns: minmax(0, 1fr);
    min-height: auto;
  }

  body.apps-page[data-app-page="project"] .art-apps-module__tier-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body.apps-page[data-app-page="project"] .art-apps-module__controlpane {
    border-right: 0;
    border-bottom: 1px solid var(--art-app-line);
  }

  body.apps-page[data-app-page="project"] .art-apps-module__guide-steps--numbered,
  body.apps-page[data-app-page="project"] .art-apps-module__preset-grid {
    grid-template-columns: 1fr;
  }

  body.apps-page[data-app-page="project"] .art-apps-module__actions {
    grid-template-columns: 1fr;
  }

  body.apps-page[data-app-page="project"] .art-apps-module__preview-card {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  body.apps-page[data-app-page="project"] .art-apps-module__preview-media img {
    min-height: 220px;
  }

  .art-apps-entry-link {
    justify-content: flex-start;
    padding-top: 0;
    min-height: auto;
  }

  .art-apps-visual {
    min-height: 300px;
  }

  .art-apps-module__row {
    grid-template-columns: 1fr;
    gap: 3px;
  }
}

@media screen and (max-width: 899px) {
  .art-apps-root {
    padding: 50px 15px calc(env(safe-area-inset-bottom, 0px) + 95px);
  }

  body.apps-page[data-app-page="index"] .art-apps-shell--index {
    gap: 18px;
  }

  body.apps-page[data-app-page="index"] .art-apps-root {
    --art-apps-index-gutter: 15px;
    padding-top: 50px;
    padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 112px);
  }

  body.apps-page[data-app-page="manifesto"] .art-apps-root {
    --art-apps-index-gutter: 15px;
    padding-top: 50px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-banner {
    margin-bottom: 10px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-banner .art-apps-index-display-title {
    font-size: clamp(34px, 12vw, 76px);
    line-height: 0.86;
    letter-spacing: -0.012em;
    margin-bottom: -0.12em;
    white-space: normal;
    text-wrap: balance;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-banner .art-apps-index-banner-meta {
    flex-wrap: wrap;
    gap: 8px 12px;
    margin-top: 10px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-banner .art-apps-index-banner-meta__group {
    width: 100%;
    justify-content: flex-start;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-copyband {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-bottom: 14px;
  }

  .art-apps-list-section__columns {
    grid-template-columns: 1fr;
    gap: 12px;
    padding-top: 12px;
  }

  .art-apps-list-section__titleline {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .art-apps-list-section--intro .art-apps-list-section__column--copy p {
    white-space: normal;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured {
    padding: 14px 14px 12px;
    margin-bottom: 14px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-index-featured__head {
    display: grid;
    gap: 6px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-index-featured__meta {
    text-align: left;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry-preview-label {
    align-self: center;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-copyband .art-apps-index-copyblock {
    border-top: 1px solid rgba(0, 0, 0, 0.14);
    padding-top: 10px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-copyband .art-apps-index-copyblock:first-child {
    border-top: 0;
    padding-top: 0;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-copyband .art-apps-index-copyblock summary {
    margin-bottom: 0;
    cursor: pointer;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-copyband .art-apps-index-copyblock summary::after {
    content: " +";
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-copyband .art-apps-index-copyblock[open] summary::after {
    content: " -";
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-copyband .art-apps-lead,
  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-copyband .art-apps-intro {
    margin-top: 10px;
    font-size: 16px;
    line-height: 1.22;
    letter-spacing: -0.01em;
  }

  .art-apps-index-panels {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .art-apps-index-panel {
    padding: 14px 15px;
  }

  .art-apps-index-panel summary {
    cursor: pointer;
    position: relative;
    padding-right: 18px;
  }

  .art-apps-index-panel summary::after {
    content: "+";
    position: absolute;
    right: 0;
    top: 0;
    font-family: "Roboto", Helvetica, sans-serif;
    font-size: 14px;
    line-height: 1;
    opacity: 0.7;
  }

  .art-apps-index-panel[open] summary::after {
    content: "−";
  }

  .art-apps-index-panel__body {
    margin-top: 10px;
  }

  .art-apps-index-quicknav {
    gap: 6px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-live-news {
    left: 0 !important;
    right: 0 !important;
    top: auto !important;
    bottom: 0 !important;
    z-index: 520;
    gap: 6px;
    min-height: 25px;
    width: auto;
    padding: 0 12px calc(env(safe-area-inset-bottom, 0px) + 2px);
    border-radius: 0;
    background: #fff;
  }

  body.apps-page[data-app-page="index"]::after {
    height: calc(40px + env(safe-area-inset-bottom, 0px));
  }

  .art-apps-live-news__label {
    line-height: 1;
  }

  .art-apps-live-news__label .art-apps-theme-kicker {
    font-size: 10px;
    line-height: 1;
    letter-spacing: 0.02em;
    text-transform: uppercase;
  }

  .art-apps-live-news__source {
    min-height: 10px;
    font-size: 10px;
    line-height: 1;
    letter-spacing: 0.02em;
    text-transform: uppercase;
  }

  .art-apps-live-news__viewport {
    min-height: 25px;
    padding: 4px 8px;
  }

  .art-apps-live-news__link {
    gap: 7px;
  }

  .art-apps-live-news__link strong {
    font-size: 13px;
  }

  .art-apps-live-news__badge,
  .art-apps-live-news__time,
  .art-apps-live-news__empty,
  .art-apps-live-news__separator {
    font-size: 10px;
  }

  .art-apps-index-quicknav-link {
    min-height: 32px;
    padding: 6px 10px;
  }

  .art-apps-entry-preview {
    max-width: 260px;
  }

  .art-apps-entry-preview-shell {
    aspect-ratio: 16 / 11;
  }

  .art-apps-entry-preview-shell.is-portrait {
    aspect-ratio: 3 / 4.4;
  }

  body.apps-page[data-app-page="project"] .art-apps-root {
    padding-top: 56px;
  }

  body.apps-page #sous-titre {
    display: none;
  }

  body.apps-page .nav-right {
    gap: 0;
  }

  body.apps-page .link-works,
  body.apps-page .link-home,
  body.apps-page #menu-colophon,
  body.apps-page .language,
  body.apps-page .header-cart {
    display: inline-flex;
    align-items: baseline;
  }

  .art-apps-shell h1 {
    font-size: 27px;
    line-height: 1.03;
  }

  .art-apps-manifesto-display-title {
    font-size: clamp(34px, 12vw, 76px);
    line-height: 0.88;
    letter-spacing: -0.014em;
    white-space: normal;
    text-wrap: balance;
  }

  .art-apps-manifesto-display-intro {
    font-size: 15px;
    line-height: 1.24;
    letter-spacing: -0.012em;
  }

  .art-apps-project-head--interface {
    display: grid;
    gap: 14px;
    padding: 14px 15px;
  }

  .art-apps-project-head__topline {
    display: grid;
    gap: 10px;
    align-items: flex-start;
  }

  .art-apps-project-notes {
    grid-template-columns: minmax(0, 1fr);
  }

  .art-apps-project-head--interface .art-apps-project-intro,
  .art-apps-project-head--interface h1 {
    max-width: none;
  }

  body.apps-page[data-app-page="project"] .art-apps-module {
    border-radius: 14px;
  }

  body.apps-page[data-app-page="project"] .art-apps-module__header,
  body.apps-page[data-app-page="project"] .art-apps-module__controlpane,
  body.apps-page[data-app-page="project"] .art-apps-module__stage {
    padding-left: 15px;
    padding-right: 15px;
  }

  body.apps-page[data-app-page="project"] .art-apps-module__header-top {
    flex-wrap: wrap;
  }

  body.apps-page[data-app-page="project"] .art-apps-module__inline-control {
    grid-template-columns: minmax(0, 1fr);
  }

  body.apps-page[data-app-page="project"] .art-apps-module__source {
    grid-template-columns: 56px minmax(0, 1fr);
  }

  body.apps-page[data-app-page="project"] .art-apps-module__source-thumb {
    width: 56px;
  }

  .art-apps-shell h2 {
    font-size: 18px;
  }

  .art-apps-theme-copy h2,
  .art-apps-entry-titleline h3 {
    font-size: 18px;
    line-height: 1.02;
    letter-spacing: -0.02em;
  }

  .art-apps-section-title--catalogue h2 {
    font-size: 18px;
    line-height: 1.02;
    letter-spacing: -0.02em;
  }

  .art-apps-section-title--catalogue span {
    font-size: 15px;
    line-height: 1;
    letter-spacing: -0.01em;
  }

  .art-apps-shell p,
  .art-apps-shell li,
  .art-apps-shell a,
  .art-apps-shell span {
    font-size: 14px;
    line-height: 17px;
  }

  .art-apps-footer-menu {
    bottom: calc(env(safe-area-inset-bottom, 0px) + 34px);
  }

  .art-apps-footer-menu__copy {
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
  }

  .art-apps-module__field input,
  .art-apps-module__field textarea,
  .art-apps-module__field select,
  .art-apps-glossary-search {
    font-size: 13px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-banner {
    margin-bottom: 14px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-banner .art-apps-index-display-title {
    max-width: 100%;
    line-height: 0.9;
    letter-spacing: -0.016em;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-banner .art-apps-index-banner-meta {
    display: grid;
    grid-template-columns: 1fr;
    gap: 6px;
    align-items: start;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-banner .art-apps-index-banner-meta__group {
    gap: 5px 6px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-copyband {
    gap: 10px;
    margin-bottom: 16px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-copyband .art-apps-index-copyblock {
    padding-top: 9px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-copyband .art-apps-index-copyblock summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 22px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-copyband .art-apps-index-copyblock[open] summary {
    margin-bottom: 8px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-copyband .art-apps-lead,
  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-copyband .art-apps-intro {
    max-width: none;
    font-size: 15px;
    line-height: 1.24;
    letter-spacing: -0.012em;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-list-section--intro {
    padding: 12px 13px 13px;
    border-radius: 16px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-list-section--intro .art-apps-list-section__columns {
    gap: 10px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-list-section--intro .art-apps-list-section__titleline {
    gap: 8px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-list-section--intro .art-apps-list-section__column--title h3 {
    top: 0;
    font-size: 20px;
    line-height: 0.98;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-list-section--intro .art-apps-list-section__titleline p {
    width: 100%;
    max-width: none;
    font-size: 13px;
    line-height: 1.22;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-list-section--intro .art-apps-list-section__titleline .art-apps-link--button {
    justify-self: start;
    min-height: 22px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured {
    gap: 14px;
    margin-bottom: 16px;
    padding: 0;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry {
    gap: 14px;
    padding: 0;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry--featured-conversation .art-apps-entry-preview {
    width: 100%;
    max-width: none;
    align-items: center;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry--featured-conversation .art-apps-entry-preview-shell {
    width: min(100%, 228px);
    margin: 0 auto;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry--featured-conversation .art-apps-entry-meta {
    width: 100%;
    gap: 6px 8px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry--featured-conversation .art-apps-entry-body {
    width: 100%;
    gap: 10px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry--featured-conversation .art-apps-entry-summary {
    max-width: none;
    font-size: 15px;
    line-height: 1.34;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry--featured-conversation .art-apps-entry-note {
    padding: 10px 10px 9px;
    border-radius: 14px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry--featured-conversation .art-apps-entry-link {
    width: 100%;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry--featured-conversation .art-apps-entry-cta {
    width: 100%;
    min-width: 0;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav {
    position: relative;
    top: auto;
    z-index: auto;
    margin: 0 0 10px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__inner {
    gap: 6px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__head {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__meta {
    font-size: 9px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__links {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__link {
    min-height: 34px;
    padding: 7px 9px;
    gap: 6px;
    border-radius: 14px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__link-label {
    font-size: 9px;
    line-height: 1.15;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-theme-section {
    padding: 13px 12px;
    border-radius: 16px;
  }

  body.apps-page[data-app-page="index"] .art-apps-theme-section {
    scroll-margin-top: 58px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-theme-head {
    gap: 8px;
    padding-bottom: 10px;
    margin-bottom: 10px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-theme-kicker {
    padding-top: 0;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-theme-copy p {
    font-size: 13px;
    line-height: 1.3;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-theme-count {
    font-size: 24px;
    line-height: 0.9;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-section-title--catalogue {
    align-items: flex-end;
    gap: 6px 12px;
    margin-bottom: 6px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-entry {
    gap: 12px;
    padding: 14px 0 16px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-entry-preview {
    max-width: none;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-entry-titleline {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 8px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-entry-summary {
    font-size: 14px;
    line-height: 1.38;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-entry-notes {
    gap: 8px;
    margin-top: 10px;
    padding-top: 10px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-entry-note {
    font-size: 12px;
    line-height: 1.48;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-entry-link {
    width: 100%;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-entry-cta {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    justify-content: center;
  }

  body.apps-page[data-app-page="project"] .art-apps-module__row {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
  }
}

@media screen and (max-width: 460px) {
  .art-apps-root {
    padding-left: 12px;
    padding-right: 12px;
  }

  body.apps-page .nav-right {
    gap: 0;
  }

  body.apps-page .header-cart img {
    width: 14px;
    height: 14px;
  }

  .art-apps-footer-menu {
    left: 10px;
    right: 10px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-banner .art-apps-index-display-title {
    letter-spacing: -0.02em;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__links {
    grid-template-columns: 1fr;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__link {
    min-height: 34px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-section-title--catalogue {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* ─────────────────────────────────────────────────────
   PREDICTIVE ART BOT STYLE — PROJECT PAGES ONLY
   Rounded corners + reveal animation + cursor blink
   ───────────────────────────────────────────────────── */

/* Module container */
body.apps-page[data-app-page="project"] .art-apps-module {
  border-radius: 20px;
}

/* ─── Project head : réduit à une ligne de nav ─── */
body.apps-page[data-app-page="project"] .art-apps-project-head--interface {
  padding: 6px 0 0;
}

body.apps-page[data-app-page="project"] .art-apps-project-head__copy {
  display: none;
}

body.apps-page[data-app-page="project"] .art-apps-project-head__topline {
  padding: 4px 0 6px;
  border-bottom: 1px solid var(--art-app-line, rgba(0,0,0,0.08));
  margin-bottom: 0;
}

body.apps-page[data-app-page="project"] .art-apps-project-head--interface .art-apps-inline-meta,
body.apps-page[data-app-page="project"] .art-apps-backlink a {
  font-size: 9px;
  opacity: 0.5;
}

/* ─── Project notes (aside description/usage/stakes) : minifié en bas ─── */
body.apps-page[data-app-page="project"] .art-apps-project-notes {
  display: none;
}

/* Notes & related panels (kept for other pages) */
body.apps-page[data-app-page="project"] .art-apps-notes-panel,
body.apps-page[data-app-page="project"] .art-apps-related--panel {
  border-radius: 14px;
  overflow: hidden;
}

/* Inner cards */
body.apps-page[data-app-page="project"] .art-apps-module__block,
body.apps-page[data-app-page="project"] .art-apps-module__guide,
body.apps-page[data-app-page="project"] .art-apps-module__leadcard,
body.apps-page[data-app-page="project"] .art-apps-glossary-card,
body.apps-page[data-app-page="project"] .art-apps-module__preview-card {
  border-radius: 14px;
  overflow: hidden;
}

/* Tier, statement, source */
body.apps-page[data-app-page="project"] .art-apps-module__tier,
body.apps-page[data-app-page="project"] .art-apps-module__statement-block,
body.apps-page[data-app-page="project"] .art-apps-module__source,
body.apps-page[data-app-page="project"] .art-apps-module__guide-steps--numbered li {
  border-radius: 10px;
}

/* Preset card (override border-radius: 0) */
body.apps-page[data-app-page="project"] .art-apps-module__preset--card {
  border-radius: 10px;
}

/* Summary badge */
body.apps-page[data-app-page="project"] .art-apps-module__summaryline {
  border-radius: 10px;
}

/* Placeholder span */
body.apps-page[data-app-page="project"] .art-apps-module__preview-placeholder span {
  border-radius: 8px;
}

/* Fields */
body.apps-page[data-app-page="project"] .art-apps-module__field input,
body.apps-page[data-app-page="project"] .art-apps-module__field textarea,
body.apps-page[data-app-page="project"] .art-apps-module__field select,
body.apps-page[data-app-page="project"] .art-apps-glossary-search {
  border-radius: 10px;
}

/* Action buttons (override border-radius: 0) */
body.apps-page[data-app-page="project"] .art-apps-module__actions .art-apps-module__button {
  border-radius: 10px;
}

/* ─── Reveal animation ─── */

@keyframes art-apps-reveal-line {
  from {
    opacity: 0;
    transform: translateY(5px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

body.apps-page[data-app-page="project"] .art-apps-module__result .art-apps-module__row,
body.apps-page[data-app-page="project"] .art-apps-module__result .art-apps-module__statement,
body.apps-page[data-app-page="project"] .art-apps-module__result .art-apps-module__value,
body.apps-page[data-app-page="project"] .art-apps-module__result p,
body.apps-page[data-app-page="project"] .art-apps-module__result strong,
body.apps-page[data-app-page="project"] .art-apps-module__leadcard,
body.apps-page[data-app-page="project"] .art-apps-glossary-card {
  animation: art-apps-reveal-line 0.32s cubic-bezier(0.22, 1, 0.36, 1) both;
}

body.apps-page[data-app-page="project"] .art-apps-module__result .art-apps-module__row:nth-child(1),
body.apps-page[data-app-page="project"] .art-apps-module__result .art-apps-module__statement:nth-child(1) { animation-delay: 0.04s; }
body.apps-page[data-app-page="project"] .art-apps-module__result .art-apps-module__row:nth-child(2),
body.apps-page[data-app-page="project"] .art-apps-module__result .art-apps-module__statement:nth-child(2) { animation-delay: 0.10s; }
body.apps-page[data-app-page="project"] .art-apps-module__result .art-apps-module__row:nth-child(3),
body.apps-page[data-app-page="project"] .art-apps-module__result .art-apps-module__statement:nth-child(3) { animation-delay: 0.16s; }
body.apps-page[data-app-page="project"] .art-apps-module__result .art-apps-module__row:nth-child(4),
body.apps-page[data-app-page="project"] .art-apps-module__result .art-apps-module__statement:nth-child(4) { animation-delay: 0.22s; }
body.apps-page[data-app-page="project"] .art-apps-module__result .art-apps-module__row:nth-child(5),
body.apps-page[data-app-page="project"] .art-apps-module__result .art-apps-module__statement:nth-child(5) { animation-delay: 0.28s; }
body.apps-page[data-app-page="project"] .art-apps-module__result .art-apps-module__row:nth-child(6),
body.apps-page[data-app-page="project"] .art-apps-module__result .art-apps-module__statement:nth-child(6) { animation-delay: 0.34s; }
body.apps-page[data-app-page="project"] .art-apps-module__result .art-apps-module__row:nth-child(7) { animation-delay: 0.40s; }
body.apps-page[data-app-page="project"] .art-apps-module__result .art-apps-module__row:nth-child(8) { animation-delay: 0.46s; }
body.apps-page[data-app-page="project"] .art-apps-module__result .art-apps-module__row:nth-child(9) { animation-delay: 0.52s; }
body.apps-page[data-app-page="project"] .art-apps-module__result .art-apps-module__row:nth-child(10) { animation-delay: 0.58s; }

/* ─── Blinking cursor on loading status ─── */

@keyframes art-apps-cursor-blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0; }
}

body.apps-page[data-app-page="project"] .art-apps-module__status:not(:empty)::after {
  content: "|";
  display: inline-block;
  margin-left: 2px;
  animation: art-apps-cursor-blink 0.9s step-end infinite;
  font-weight: 400;
  opacity: 0.8;
}

/* ─── ROBOTO MONO — output stage typography ─── */
@import url('https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400&display=swap');

/* Base stage — weight 300, corps lisible */
body.apps-page[data-app-page="project"] .art-apps-module__stage,
body.apps-page[data-app-page="project"] .art-apps-module__stage p,
body.apps-page[data-app-page="project"] .art-apps-module__stage li {
  font-family: 'Roboto Mono', 'Courier New', monospace;
  font-weight: 300;
  font-size: 12px;
  line-height: 1.7;
  letter-spacing: 0;
}

/* Valeurs courantes — weight 400 */
body.apps-page[data-app-page="project"] .art-apps-module__stage span,
body.apps-page[data-app-page="project"] .art-apps-module__value span {
  font-family: 'Roboto Mono', 'Courier New', monospace;
  font-weight: 400;
  font-size: 12px;
  line-height: 1.7;
}

/* Labels / termes — weight 500, uppercase */
body.apps-page[data-app-page="project"] .art-apps-module__term {
  font-family: 'Roboto Mono', 'Courier New', monospace;
  font-weight: 500;
  font-size: 9px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* Valeurs fortes — weight 500 */
body.apps-page[data-app-page="project"] .art-apps-module__value strong {
  font-family: 'Roboto Mono', 'Courier New', monospace;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.3;
  letter-spacing: -0.01em;
}

/* Titre généré — weight 700, très mis en évidence */
body.apps-page[data-app-page="project"] .art-apps-module__headline {
  font-family: 'Roboto Mono', 'Courier New', monospace;
  font-weight: 700;
  font-size: clamp(28px, 3.2vw, 48px);
  line-height: 1.0;
  letter-spacing: -0.03em;
  margin-bottom: 12px;
}

/* Lede sous le titre — weight 300 italic */
body.apps-page[data-app-page="project"] .art-apps-module__lede {
  font-family: 'Roboto Mono', 'Courier New', monospace;
  font-weight: 300;
  font-style: italic;
  font-size: 13px;
  line-height: 1.5;
}

/* Eyebrow — weight 500 */
body.apps-page[data-app-page="project"] .art-apps-module__eyebrow {
  font-family: 'Roboto Mono', 'Courier New', monospace;
  font-weight: 500;
  font-size: 9px;
  letter-spacing: 0.1em;
}

/* Lead card — cadre titre mis en évidence */
body.apps-page[data-app-page="project"] .art-apps-module__leadcard {
  padding: 20px;
  border-width: 2px;
}

/* Première row du résultat (signal source) — mise en avant */
body.apps-page[data-app-page="project"] .art-apps-module__result .art-apps-module__row:first-child {
  padding: 10px 12px;
  background: var(--art-app-soft, #f4f4f4);
  border-radius: 8px;
  border-bottom: none;
  margin-bottom: 4px;
}

body.apps-page[data-app-page="project"] .art-apps-module__result .art-apps-module__row:first-child .art-apps-module__term {
  font-weight: 700;
  opacity: 1;
  color: var(--art-app-ink);
}

body.apps-page[data-app-page="project"] .art-apps-module__result .art-apps-module__row:first-child .art-apps-module__value span {
  font-weight: 500;
  font-style: italic;
}

/* ─── Indicateur de chargement & typewriter ─── */

.art-apps-generating {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 22px 20px;
  position: relative;
  overflow: hidden;
}

.art-apps-generating::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 2px;
  width: 0;
  background: var(--art-app-ink, #000);
  animation: art-apps-progress-bar 0.42s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

@keyframes art-apps-progress-bar {
  from { width: 0; }
  to   { width: 100%; }
}

.art-apps-generating__label {
  font-family: 'Roboto Mono', 'Courier New', monospace;
  font-weight: 500;
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  opacity: 0.55;
}

.art-apps-generating__cursor {
  font-family: 'Roboto Mono', 'Courier New', monospace;
  font-weight: 700;
  font-size: 14px;
  line-height: 1;
  display: inline-block;
  animation: art-apps-cursor-blink 0.55s step-end infinite;
  color: var(--art-app-ink, #000);
}

/* Curseur clignotant pendant le typewriter sur le titre */
.art-apps-typewriter--active::after {
  content: "|";
  display: inline-block;
  margin-left: 1px;
  font-weight: 300;
  animation: art-apps-cursor-blink 0.5s step-end infinite;
  opacity: 0.7;
}

/* ─── Archive des 10 dernières générations ─── */

.art-apps-archive {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: visible;
  gap: 8px;
  padding: 12px 16px 16px;
  border-top: 1px solid var(--art-app-line, rgba(0,0,0,0.1));
  scrollbar-width: thin;
  scrollbar-color: var(--art-app-line, rgba(0,0,0,0.2)) transparent;
  -webkit-overflow-scrolling: touch;
}

.art-apps-archive__header {
  display: none;
}

.art-apps-archive__item {
  border: 1px solid var(--art-app-line, rgba(0,0,0,0.12));
  border-radius: 10px;
  padding: 12px 14px;
  opacity: 0.38;
  font-size: 11px;
  transition: opacity 200ms ease;
  overflow: hidden;
  width: 210px;
  min-width: 210px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
  cursor: default;
}

.art-apps-archive__item::after {
  display: none;
}

.art-apps-archive__item:hover {
  opacity: 0.78;
}

.art-apps-archive__item .art-apps-module__headline {
  font-size: 13px !important;
  line-height: 1.15 !important;
  margin-bottom: 0 !important;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

.art-apps-archive__item .art-apps-module__lede {
  display: -webkit-box !important;
  font-size: 10px !important;
  line-height: 1.4 !important;
  opacity: 0.65;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  font-style: italic;
}

.art-apps-archive__item .art-apps-module__row,
.art-apps-archive__item .art-apps-module__statement-block,
.art-apps-archive__item .art-apps-module__tier-grid,
.art-apps-archive__item .art-apps-module__metrics {
  display: none;
}

/* ─── Bouton Poster / PDF ─── */

body.apps-page[data-app-page="project"] [data-action="toggle-auto"] {
  font-family: 'Roboto Mono', 'Courier New', monospace;
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 0.06em;
  min-width: 52px;
}

body.apps-page[data-app-page="project"] [data-action="toggle-auto"][data-auto-state="playing"] {
  background: var(--art-app-button-hover-bg, #000);
  color: var(--art-app-button-hover-ink, #fff);
  border-color: var(--art-app-button-hover-bg, #000);
}

body.apps-page[data-app-page="project"] [data-action="export-poster"] {
  font-family: 'Roboto Mono', 'Courier New', monospace;
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 0.06em;
}

/* ─── Print / Poster A4 ─── */

@media print {
  body * { visibility: hidden !important; }
  .art-apps-poster-overlay,
  .art-apps-poster-overlay * { visibility: visible !important; }
  .art-apps-poster-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 99999 !important;
  }
}

.art-apps-poster-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: #fff;
  overflow: auto;
}

.art-apps-poster-overlay.is-open {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 40px 20px;
}

.art-apps-poster {
  width: 210mm;
  min-height: 297mm;
  background: #fff;
  color: #000;
  padding: 18mm 16mm 14mm;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-shadow: 0 8px 40px rgba(0,0,0,0.18);
  position: relative;
}

.art-apps-poster__close {
  position: fixed;
  top: 16px;
  right: 16px;
  appearance: none;
  -webkit-appearance: none;
  border: 1px solid #000;
  background: #fff;
  color: #000;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
}

.art-apps-poster__print {
  position: fixed;
  top: 16px;
  right: 60px;
  appearance: none;
  -webkit-appearance: none;
  border: 1px solid #000;
  background: #000;
  color: #fff;
  padding: 8px 16px;
  border-radius: 999px;
  font-family: "TwoMontrouge", Helvetica, sans-serif;
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
  z-index: 10000;
}

@media print {
  .art-apps-poster__close,
  .art-apps-poster__print { display: none !important; }
}

.art-apps-poster__header {
  font-family: "TwoMontrouge", Helvetica, sans-serif;
  font-size: 9px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.5;
  margin-bottom: 0;
}

.art-apps-poster__title {
  font-family: "TwoMontrouge", Helvetica, sans-serif;
  font-weight: 400;
  font-size: clamp(52px, 11vw, 96px);
  line-height: 0.92;
  letter-spacing: -0.02em;
  text-align: center;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12mm 0;
  word-break: break-word;
  hyphens: auto;
}

.art-apps-poster__footer {
  font-family: "TwoMontrouge", Helvetica, sans-serif;
  font-size: 10px;
  line-height: 1.6;
  letter-spacing: 0.01em;
  opacity: 0.7;
  border-top: 1px solid #000;
  padding-top: 6mm;
  text-align: left;
  max-width: 80%;
}

/* ─── Simplified control pane — hide verbose elements ─── */

body.apps-page[data-app-page="project"] .art-apps-module__guide {
  display: none;
}

body.apps-page[data-app-page="project"] .art-apps-module__block-head {
  display: none;
}

body.apps-page[data-app-page="project"] [data-source-list] {
  display: none;
}

body.apps-page[data-app-page="project"] [data-source-status] {
  display: none;
}

/* Source preview — affiché en mode compact en haut du stage */
body.apps-page[data-app-page="project"] [data-source-preview] {
  display: block;
}

/* Rendre la preview compacte : masquer image et excerpt, garder titre + domaine */
body.apps-page[data-app-page="project"] .art-apps-module__preview-card {
  grid-template-columns: 1fr;
  min-height: auto;
}

body.apps-page[data-app-page="project"] .art-apps-module__preview-media {
  display: none;
}

body.apps-page[data-app-page="project"] .art-apps-module__preview-copy {
  padding: 10px 14px;
  gap: 6px;
}

body.apps-page[data-app-page="project"] .art-apps-module__preview-title {
  font-family: 'Roboto Mono', 'Courier New', monospace;
  font-weight: 500;
  font-size: clamp(12px, 1.2vw, 15px);
  line-height: 1.25;
  letter-spacing: -0.01em;
  margin: 0;
}

body.apps-page[data-app-page="project"] .art-apps-module__preview-excerpt {
  display: none;
}

body.apps-page[data-app-page="project"] .art-apps-module__preview-footer {
  display: none;
}

/* Connecteur visuel source → résultat */
body.apps-page[data-app-page="project"] [data-source-preview]::after {
  content: "↓ signal traité";
  display: block;
  font-family: 'Roboto Mono', 'Courier New', monospace;
  font-weight: 500;
  font-size: 9px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  opacity: 0.45;
  padding: 6px 14px 2px;
}

body.apps-page[data-app-page="project"][data-app-lang="en"] [data-source-preview]::after {
  content: "↓ signal processed";
}

/* Label "Signal source" en tête de la preview */
body.apps-page[data-app-page="project"] .art-apps-module__preview-meta {
  justify-content: flex-start;
  gap: 6px;
}

body.apps-page[data-app-page="project"] .art-apps-module__preview-domain {
  font-family: 'Roboto Mono', 'Courier New', monospace;
  font-weight: 500;
  font-size: 9px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  opacity: 0.6;
}

body.apps-page[data-app-page="project"] .art-apps-module__preview-source {
  display: none;
}

body.apps-page[data-app-page="project"] .art-apps-module__field:has(input[type="text"]),
body.apps-page[data-app-page="project"] .art-apps-module__field:has(textarea) {
  display: none;
}

body.apps-page[data-app-page="project"] .art-apps-module__inline-control {
  display: none;
}

body.apps-page[data-app-page="project"] [data-action="fetch-hn"] {
  display: none;
}

/* Narrower control pane since content is reduced */
body.apps-page[data-app-page="project"] .art-apps-module__workspace {
  grid-template-columns: minmax(180px, 0.52fr) minmax(0, 1.48fr);
}

/* toggle-auto — styles moved to Roboto Mono section above */

/* Auto-pulse on the stage when running */
body.apps-page[data-app-page="project"] .art-apps-module__stage-head {
  position: relative;
}

@keyframes art-apps-auto-pulse {
  0%, 100% { opacity: 0.4; }
  50% { opacity: 1; }
}

body.apps-page[data-app-page="project"] .art-apps-module[data-auto-state="playing"] .art-apps-module__stage-head::after {
  content: "●";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 8px;
  animation: art-apps-auto-pulse 2s ease-in-out infinite;
}

/* ─── Parallel signal panel — two-column stage layout ─── */

/* Hide old source preview — replaced by signal panel */
body.apps-page[data-app-page="project"] [data-source-preview] {
  display: none !important;
}

/* Stage becomes a grid: signal panel left | output right */
body.apps-page[data-app-page="project"] .art-apps-module__stage {
  display: grid;
  grid-template-columns: minmax(160px, 0.4fr) minmax(0, 1.6fr);
  grid-template-rows: auto 1fr auto;
  padding: 0;
  gap: 0;
  background: transparent;
}

body.apps-page[data-app-page="project"] .art-apps-module__stage-head {
  grid-column: 1 / -1;
  grid-row: 1;
  padding: 10px 16px;
  border-bottom: 1px solid var(--art-app-line, rgba(0,0,0,0.1));
}

body.apps-page[data-app-page="project"] .art-apps-signal-panel {
  grid-column: 1;
  grid-row: 2;
  border-right: 1px solid var(--art-app-line, rgba(0,0,0,0.1));
  background: rgba(0,0,0,0.02);
  padding: 14px 12px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 80px;
}

body.apps-page[data-app-page="project"] [data-module-output] {
  grid-column: 2;
  grid-row: 2;
}

body.apps-page[data-app-page="project"] .art-apps-archive {
  grid-column: 1 / -1;
  grid-row: 3;
}

/* Signal panel typography */
body.apps-page[data-app-page="project"] .art-apps-signal-panel__label {
  font-family: 'Roboto Mono', 'Courier New', monospace;
  font-weight: 500;
  font-size: 8px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.4;
  margin-bottom: 2px;
}

body.apps-page[data-app-page="project"] .art-apps-signal-panel__content {
  font-family: 'Roboto Mono', 'Courier New', monospace;
  font-weight: 400;
  font-size: clamp(10px, 1vw, 12px);
  line-height: 1.45;
  color: var(--art-app-ink, #111);
  word-break: break-word;
  flex: 1;
}

body.apps-page[data-app-page="project"] .art-apps-signal-panel__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  padding-top: 8px;
  border-top: 1px solid var(--art-app-line, rgba(0,0,0,0.1));
}

body.apps-page[data-app-page="project"] .art-apps-signal-panel__tag {
  font-family: 'Roboto Mono', 'Courier New', monospace;
  font-weight: 300;
  font-size: 8px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: var(--art-app-line, rgba(0,0,0,0.07));
  border-radius: 4px;
  padding: 2px 6px;
  opacity: 0.65;
}

/* Mobile: stack vertically */
@media (max-width: 899px) {
  body.apps-page[data-app-page="project"] .art-apps-module__stage {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto auto;
  }
  body.apps-page[data-app-page="project"] .art-apps-signal-panel {
    grid-column: 1;
    grid-row: 2;
    border-right: none;
    border-bottom: 1px solid var(--art-app-line, rgba(0,0,0,0.1));
    max-height: 110px;
  }
  body.apps-page[data-app-page="project"] [data-module-output] {
    grid-column: 1;
    grid-row: 3;
  }
  body.apps-page[data-app-page="project"] .art-apps-archive {
    grid-row: 4;
  }
}

/* ════════════════════════════════════════════════════════════
   IDENTITÉS PAR APP + EFFACEMENT DU SITE PRINCIPAL
   Scope: body.apps-page[data-app-page="project"]
   ════════════════════════════════════════════════════════════ */

/* ─── Effacer les éléments du portfolio sur les pages app ─── */

body.apps-page[data-app-page="project"] nav #titre,
body.apps-page[data-app-page="project"] nav .link-home,
body.apps-page[data-app-page="project"] nav #menu-colophon,
body.apps-page[data-app-page="project"] nav .header-cart {
  display: none;
}

body.apps-page[data-app-page="project"] .whitemask {
  display: none;
}

body.apps-page[data-app-page="project"] .mobile-floating-cta,
body.apps-page[data-app-page="project"] .desktop-floating-cta,
body.apps-page[data-app-page="project"] .desktop-spec-engine-prefix {
  display: none !important;
}

/* Nav réduit : bandeau minimal app-only */
body.apps-page[data-app-page="project"] nav {
  padding: 7px 20px;
  min-height: auto;
  height: auto;
}

body.apps-page[data-app-page="project"] nav #sous-titre span {
  font-family: 'Roboto Mono', 'Courier New', monospace;
  font-weight: 500;
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  opacity: 0.7;
}

/* ════════════════════════════════════════════════════════════
   1. BRAND MUTATION GENERATOR
   Concept : signal technique → mutation d'ADN de marque
   Esthétique : laboratoire clinique / glitch corporatif
   ════════════════════════════════════════════════════════════ */

body.apps-page[data-app-slug="brand-mutation-generator"] {
  --art-app-bg: #f5f5f7;
  --art-app-ink: #1d1d1f;
  --art-app-line: rgba(29, 29, 31, 0.1);
  --art-app-soft: #e8e8ed;
  --art-app-card: #ffffff;
  --art-app-muted: rgba(29, 29, 31, 0.56);
  --art-app-button-bg: #1d1d1f;
  --art-app-button-ink: #f5f5f7;
  --art-app-button-hover-bg: #cc1e00;
  --art-app-button-hover-ink: #fff;
  --art-app-chip-bg: rgba(29, 29, 31, 0.06);
  --art-app-chip-ink: #1d1d1f;
  background-color: #f5f5f7;
}

/* Leadcard : mutation = accent rouge latéral */
body.apps-page[data-app-slug="brand-mutation-generator"] .art-apps-module__leadcard {
  border-left: 3px solid #cc1e00;
}

/* Workspace : contrôle étroit, stage large */
body.apps-page[data-app-slug="brand-mutation-generator"] .art-apps-module__workspace {
  grid-template-columns: minmax(160px, 0.36fr) minmax(0, 1.64fr);
}

/* ════════════════════════════════════════════════════════════
   2. EMOTION AS A SERVICE
   Concept : commodification de l'affect en SaaS
   Esthétique : blush chaleureux / rose institutionnel
   ════════════════════════════════════════════════════════════ */

body.apps-page[data-app-slug="emotion-as-a-service"] {
  --art-app-bg: #fdf6f0;
  --art-app-ink: #1a0f09;
  --art-app-line: rgba(26,15,9,0.09);
  --art-app-soft: #f5ebe0;
  --art-app-card: #f0e3d5;
  --art-app-muted: rgba(26,15,9,0.5);
  --art-app-button-bg: #1a0f09;
  --art-app-button-ink: #fdf6f0;
  --art-app-button-hover-bg: #d4401a;
  --art-app-button-hover-ink: #fff;
  --art-app-chip-bg: rgba(26,15,9,0.07);
  --art-app-chip-ink: rgba(26,15,9,0.6);
  background-color: #fdf6f0;
}

/* Tier grid — vitrines produit prominentes */
body.apps-page[data-app-slug="emotion-as-a-service"] .art-apps-module__tier-grid {
  gap: 8px;
  margin-bottom: 14px;
}

/* Workspace */
body.apps-page[data-app-slug="emotion-as-a-service"] .art-apps-module__workspace {
  grid-template-columns: minmax(175px, 0.43fr) minmax(0, 1.57fr);
}

/* ════════════════════════════════════════════════════════════
   3. DESIRE INTERFACE
   Concept : les technologies encodent et façonnent les désirs
   Esthétique : crème ivoire / toucher / tension subtile
   ════════════════════════════════════════════════════════════ */

body.apps-page[data-app-slug="desire-interface"] {
  --art-app-bg: #faf7f2;
  --art-app-ink: #1a1208;
  --art-app-line: rgba(26,18,8,0.1);
  --art-app-soft: #f2ede4;
  --art-app-card: #ece6da;
  --art-app-muted: rgba(26,18,8,0.5);
  --art-app-button-bg: #1a1208;
  --art-app-button-ink: #faf7f2;
  --art-app-button-hover-bg: #b06a1a;
  --art-app-button-hover-ink: #faf7f2;
  --art-app-chip-bg: rgba(26,18,8,0.07);
  --art-app-chip-ink: rgba(26,18,8,0.6);
  background-color: #faf7f2;
}

/* Barres de désir — ambre, large */
body.apps-page[data-app-slug="desire-interface"] .art-apps-module__metric-bar-fill {
  background: linear-gradient(90deg, #c98a2b, #e8ad46);
}

/* Radar SVG container */
body.apps-page[data-app-slug="desire-interface"] .art-apps-desire-radar {
  display: block;
  margin: 0 auto 12px;
  opacity: 0.9;
}

/* Workspace : stage dominant */
body.apps-page[data-app-slug="desire-interface"] .art-apps-module__workspace {
  grid-template-columns: minmax(155px, 0.35fr) minmax(0, 1.65fr);
}

/* ════════════════════════════════════════════════════════════
   4. GLOSSARY OF HYBRID FUTURES
   Concept : vocabulaire des zones de friction tech-humain
   Esthétique : encyclopédie spéculative / parchemin
   ════════════════════════════════════════════════════════════ */

body.apps-page[data-app-slug="glossary-of-hybrid-futures"] {
  --art-app-bg: #f3ede0;
  --art-app-ink: #1c1a14;
  --art-app-line: rgba(28,26,20,0.11);
  --art-app-soft: #e9e2d1;
  --art-app-card: #ece6d5;
  --art-app-muted: rgba(28,26,20,0.52);
  --art-app-button-bg: #1c1a14;
  --art-app-button-ink: #f3ede0;
  --art-app-button-hover-bg: #1f5c2e;
  --art-app-button-hover-ink: #f3ede0;
  --art-app-chip-bg: rgba(28,26,20,0.08);
  --art-app-chip-ink: rgba(28,26,20,0.65);
  background-color: #f3ede0;
}

/* Terme actif — titre encyclopédique */
body.apps-page[data-app-slug="glossary-of-hybrid-futures"] .art-apps-glossary-card h3 {
  font-family: 'Roboto Mono', 'Courier New', monospace;
  font-weight: 700;
  font-size: clamp(22px, 2.8vw, 38px);
  line-height: 1.0;
  letter-spacing: -0.03em;
  padding-bottom: 10px;
  border-bottom: 2px solid rgba(28,26,20,0.15);
  margin-bottom: 14px;
}

body.apps-page[data-app-slug="glossary-of-hybrid-futures"] .art-apps-glossary-card p {
  font-family: 'Roboto Mono', 'Courier New', monospace;
  font-size: 12px;
  line-height: 1.75;
}

body.apps-page[data-app-slug="glossary-of-hybrid-futures"] .art-apps-glossary-card p em {
  opacity: 0.6;
}

/* Workspace : deux colonnes quasi égales */
body.apps-page[data-app-slug="glossary-of-hybrid-futures"] .art-apps-module__workspace {
  grid-template-columns: minmax(195px, 0.48fr) minmax(0, 1.52fr);
}

/* Datamuse neighbors chip */
body.apps-page[data-app-slug="glossary-of-hybrid-futures"] .art-apps-glossary-neighbors {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 10px;
}
body.apps-page[data-app-slug="glossary-of-hybrid-futures"] .art-apps-glossary-neighbors__chip {
  font-family: 'Roboto Mono', 'Courier New', monospace;
  font-size: 9px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: rgba(28,26,20,0.08);
  border-radius: 4px;
  padding: 3px 7px;
  opacity: 0.7;
}

/* ════════════════════════════════════════════════════════════
   5. TRANSLATOR OF TECHNOLOGICAL NEWS
   Concept : signal tech → chaîne de conséquences humaines
   Esthétique : reçu / journal de bord urgent
   ════════════════════════════════════════════════════════════ */

body.apps-page[data-app-slug="translator-of-technological-news-into-human-consequences"] {
  --art-app-bg: #fafaf7;
  --art-app-ink: #111111;
  --art-app-line: rgba(17,17,17,0.08);
  --art-app-soft: #f1efe8;
  --art-app-card: #f4f2eb;
  --art-app-muted: rgba(17,17,17,0.52);
  --art-app-button-bg: #111111;
  --art-app-button-ink: #fafaf7;
  --art-app-button-hover-bg: #d63031;
  --art-app-button-hover-ink: #fff;
  --art-app-chip-bg: rgba(17,17,17,0.07);
  --art-app-chip-ink: rgba(17,17,17,0.65);
  background-color: #fafaf7;
}

/* Workspace : contrôle minimal, conséquences plein écran */
body.apps-page[data-app-slug="translator-of-technological-news-into-human-consequences"] .art-apps-module__workspace {
  grid-template-columns: minmax(148px, 0.34fr) minmax(0, 1.66fr);
}

/* Chaque domaine de conséquence = couleur spécifique */
body.apps-page[data-app-slug="translator-of-technological-news-into-human-consequences"] .art-apps-module__result .art-apps-module__row:nth-child(1) .art-apps-module__term { color: #b8321a; }
body.apps-page[data-app-slug="translator-of-technological-news-into-human-consequences"] .art-apps-module__result .art-apps-module__row:nth-child(2) .art-apps-module__term { color: #c46800; }
body.apps-page[data-app-slug="translator-of-technological-news-into-human-consequences"] .art-apps-module__result .art-apps-module__row:nth-child(3) .art-apps-module__term { color: #7c3aed; }
body.apps-page[data-app-slug="translator-of-technological-news-into-human-consequences"] .art-apps-module__result .art-apps-module__row:nth-child(4) .art-apps-module__term { color: #1d6fa4; }
body.apps-page[data-app-slug="translator-of-technological-news-into-human-consequences"] .art-apps-module__result .art-apps-module__row:nth-child(5) .art-apps-module__term { color: #0e7163; }
body.apps-page[data-app-slug="translator-of-technological-news-into-human-consequences"] .art-apps-module__result .art-apps-module__row:nth-child(6) .art-apps-module__term { color: #2d7a1f; }
body.apps-page[data-app-slug="translator-of-technological-news-into-human-consequences"] .art-apps-module__result .art-apps-module__row:nth-child(7) .art-apps-module__term { color: #6b7280; }

/* Leadcard : bandeau urgent */
body.apps-page[data-app-slug="translator-of-technological-news-into-human-consequences"] .art-apps-module__leadcard {
  border-top: 3px solid #d63031;
  border-left: none;
}

/* ════════════════════════════════════════════════════════════
   6. CORPORATE CONFESSION GENERATOR
   Concept : langage corporatif = rituel sans action
   Esthétique : communiqué officiel qui se désintègre
   ════════════════════════════════════════════════════════════ */

body.apps-page[data-app-slug="corporate-confession-generator"] {
  --art-app-bg: #ffffff;
  --art-app-ink: #111827;
  --art-app-line: rgba(17,24,39,0.09);
  --art-app-soft: #f9fafb;
  --art-app-card: #f3f4f6;
  --art-app-muted: rgba(17,24,39,0.5);
  --art-app-button-bg: #111827;
  --art-app-button-ink: #ffffff;
  --art-app-button-hover-bg: #1d4ed8;
  --art-app-button-hover-ink: #fff;
  --art-app-chip-bg: rgba(17,24,39,0.07);
  --art-app-chip-ink: rgba(17,24,39,0.6);
  background-color: #ffffff;
}

/* Statement blocks — style communiqué officiel */
body.apps-page[data-app-slug="corporate-confession-generator"] .art-apps-module__statement-block {
  border-left: 3px solid rgba(17,24,39,0.12);
  padding-left: 14px;
  margin-bottom: 10px;
}

/* Dernier block = sous-texte caché, atténué */
body.apps-page[data-app-slug="corporate-confession-generator"] .art-apps-module__statement-block:last-of-type {
  border-left-color: #d63031;
  opacity: 0.38;
  font-style: italic;
}

/* Workspace */
body.apps-page[data-app-slug="corporate-confession-generator"] .art-apps-module__workspace {
  grid-template-columns: minmax(165px, 0.4fr) minmax(0, 1.6fr);
}

/* ─── Responsive collapse ─── */
@media (max-width: 1099px) {
  body.apps-page[data-app-slug="brand-mutation-generator"] .art-apps-module__workspace,
  body.apps-page[data-app-slug="emotion-as-a-service"] .art-apps-module__workspace,
  body.apps-page[data-app-slug="desire-interface"] .art-apps-module__workspace,
  body.apps-page[data-app-slug="glossary-of-hybrid-futures"] .art-apps-module__workspace,
  body.apps-page[data-app-slug="translator-of-technological-news-into-human-consequences"] .art-apps-module__workspace,
  body.apps-page[data-app-slug="corporate-confession-generator"] .art-apps-module__workspace {
    grid-template-columns: 1fr;
  }
}

/* ════════════════════════════════════════════════════════════
   CORRECTIONS GLOBALES — toutes les pages project
   ════════════════════════════════════════════════════════════ */

/* ─── Roboto Mono partout, sans exception ─── */
body.apps-page[data-app-page="project"],
body.apps-page[data-app-page="project"] * {
  font-family: 'Roboto Mono', 'Courier New', monospace !important;
}

/* ─── Description / Usage / Enjeux : accordéon compact ─── */
body.apps-page[data-app-page="project"] .art-apps-module__about {
  border-top: 1px solid var(--art-app-line, rgba(0,0,0,0.08));
  margin-top: 0;
}

body.apps-page[data-app-page="project"] .art-apps-module__about-section {
  border-bottom: 1px solid var(--art-app-line, rgba(0,0,0,0.08));
  overflow: hidden;
}

body.apps-page[data-app-page="project"] .art-apps-module__about-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 16px;
  cursor: pointer;
  user-select: none;
}

body.apps-page[data-app-page="project"] .art-apps-module__about-section-head h4 {
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin: 0;
}

body.apps-page[data-app-page="project"] .art-apps-module__about-section-body {
  padding: 0 16px 12px;
  font-size: 11px;
  line-height: 1.65;
  color: var(--art-app-muted, rgba(0,0,0,0.55));
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease, padding 0.2s ease;
}

body.apps-page[data-app-page="project"] .art-apps-module__about-section.is-open .art-apps-module__about-section-body {
  max-height: 400px;
  padding-bottom: 12px;
}

body.apps-page[data-app-page="project"] .art-apps-module__about-section-toggle {
  font-size: 12px;
  opacity: 0.45;
  transition: transform 0.2s ease;
}

body.apps-page[data-app-page="project"] .art-apps-module__about-section.is-open .art-apps-module__about-section-toggle {
  transform: rotate(90deg);
}

/* ─── Pause / Auto — très visible ─── */
body.apps-page[data-app-page="project"] [data-action="toggle-auto"] {
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  padding: 8px 16px !important;
  min-width: 80px !important;
  border-radius: 999px !important;
  border-width: 2px !important;
  text-transform: uppercase !important;
  transition: background 0.15s ease, color 0.15s ease !important;
}

body.apps-page[data-app-page="project"] [data-action="toggle-auto"][data-auto-state="playing"] {
  background: var(--art-app-ink, #000) !important;
  color: var(--art-app-bg, #fff) !important;
  border-color: var(--art-app-ink, #000) !important;
}

body.apps-page[data-app-page="project"] [data-action="toggle-auto"][data-auto-state="paused"] {
  background: transparent !important;
  color: var(--art-app-ink, #000) !important;
  border-color: var(--art-app-ink, #000) !important;
  opacity: 1 !important;
}

/* ─── Ad text — Emotion as a Service ─── */
.art-apps-module__adtext {
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: -0.01em;
  padding: 14px 18px;
  margin-bottom: 12px;
  border: 2px solid var(--art-app-ink, #000);
  border-radius: 10px;
  position: relative;
}

.art-apps-module__adtext::before {
  content: "Ad";
  font-size: 7px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  position: absolute;
  top: -8px;
  left: 12px;
  background: var(--art-app-bg, #fff);
  padding: 0 4px;
  opacity: 0.5;
}

/* ─── Desire radar color ─── */
body.apps-page[data-app-slug="desire-interface"] .art-apps-desire-radar {
  color: #b06a1a;
}

/* ─── Barres de désir ─── */
body.apps-page[data-app-slug="desire-interface"] .art-apps-module__metric-bar span {
  background: linear-gradient(90deg, #b06a1a, #d4923e) !important;
}

/* ─── Corporate confession : live letter ─── */
.art-apps-live-letter {
  font-size: 12px;
  line-height: 1.9;
  white-space: pre-wrap;
  padding: 20px 22px;
  border: 1px solid var(--art-app-line, rgba(0,0,0,0.1));
  border-radius: 14px;
  min-height: 220px;
  position: relative;
}

.art-apps-live-letter__cursor {
  display: inline-block;
  width: 1px;
  height: 1.1em;
  background: var(--art-app-ink, #000);
  vertical-align: text-bottom;
  margin-left: 1px;
  animation: art-apps-cursor-blink 0.55s step-end infinite;
}

/* ─── Glossary persistent archive ─── */
.art-apps-glossary-saved {
  border-top: 1px solid var(--art-app-line, rgba(0,0,0,0.1));
  padding: 14px 16px;
}

.art-apps-glossary-saved__header {
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  opacity: 0.5;
  margin-bottom: 10px;
}

.art-apps-glossary-saved__list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.art-apps-glossary-saved__chip {
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 0.05em;
  padding: 4px 10px;
  border: 1px solid var(--art-app-line, rgba(0,0,0,0.15));
  border-radius: 999px;
  cursor: pointer;
  transition: background 0.15s ease;
}

.art-apps-glossary-saved__chip:hover {
  background: var(--art-app-soft, #f0f0f0);
}

/* ─── Source scroll list ─── */
.art-apps-source-scroll {
  display: flex;
  flex-direction: column;
  gap: 0;
  overflow-y: auto;
  max-height: 280px;
  scrollbar-width: thin;
  scrollbar-color: var(--art-app-line, rgba(0,0,0,0.15)) transparent;
}

.art-apps-source-scroll__item {
  padding: 8px 12px;
  font-size: 10px;
  line-height: 1.4;
  border-bottom: 1px solid var(--art-app-line, rgba(0,0,0,0.07));
  cursor: pointer;
  transition: background 0.12s ease;
  opacity: 0.55;
}

.art-apps-source-scroll__item.is-active {
  opacity: 1;
  font-weight: 700;
  background: var(--art-app-soft, rgba(0,0,0,0.04));
  border-left: 3px solid var(--art-app-ink, #000);
  padding-left: 9px;
}

.art-apps-source-scroll__item:hover {
  opacity: 0.85;
  background: var(--art-app-soft, rgba(0,0,0,0.03));
}

/* ─── Poster redesign — text art (Kruger / Ruscha / Wool) ─── */
.art-apps-poster {
  width: 210mm;
  min-height: 297mm;
  background: #fff;
  color: #000;
  display: flex;
  flex-direction: column;
  padding: 18mm 14mm;
  position: relative;
  box-sizing: border-box;
  border: none;
}

.art-apps-poster__header {
  font-family: 'Roboto Mono', monospace !important;
  font-size: 8px;
  font-weight: 400;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  opacity: 0.35;
  border-bottom: 1px solid rgba(0,0,0,0.2);
  padding-bottom: 8mm;
  margin-bottom: 0;
}

.art-apps-poster__title {
  font-family: 'Roboto Mono', monospace !important;
  font-weight: 700 !important;
  font-size: clamp(44px, 14vw, 86px) !important;
  line-height: 0.88 !important;
  letter-spacing: -0.04em !important;
  text-align: left !important;
  flex: 1;
  display: flex;
  align-items: flex-start;
  padding: 18mm 0 12mm;
  word-break: break-word;
  hyphens: auto;
  text-transform: uppercase;
}

.art-apps-poster__footer {
  font-family: 'Roboto Mono', monospace !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  letter-spacing: 0 !important;
  opacity: 1 !important;
  border-top: 3px solid #000;
  padding-top: 6mm;
  text-align: left;
  max-width: 100%;
}

@media print {
  .art-apps-poster__title { font-size: 72pt !important; }
  .art-apps-poster { padding: 15mm 12mm; }
}

/* ════════════════════════════════════════════════════════════
   RUPTURE VISUELLE STRUCTURELLE — layout par app
   Chaque app a un espace de travail conceptuellement différent
   ════════════════════════════════════════════════════════════ */

/* ─── 1. BRAND MUTATION GENERATOR ───
   Concept : labo de mutation / signal → marque
   Structure : contrôle minimaliste vertical gauche, output pleine hauteur droite
   Marqueur : ligne rouge verticale, numéro de mutation en grand
*/
body.apps-page[data-app-slug="brand-mutation-generator"] .art-apps-module {
  border: none;
  border-radius: 0;
}
body.apps-page[data-app-slug="brand-mutation-generator"] .art-apps-module__workspace {
  grid-template-columns: minmax(148px, 0.28fr) minmax(0, 1.72fr);
  min-height: 78vh;
  border-top: 3px solid #cc1e00;
}
body.apps-page[data-app-slug="brand-mutation-generator"] .art-apps-module__controlpane {
  background: var(--art-app-soft);
  border-right: 1px solid var(--art-app-line);
  border-radius: 0;
}
body.apps-page[data-app-slug="brand-mutation-generator"] .art-apps-module__stage {
  border-radius: 0;
}
body.apps-page[data-app-slug="brand-mutation-generator"] .art-apps-module__headline {
  font-size: clamp(32px, 5vw, 72px) !important;
  letter-spacing: -0.04em !important;
}

/* ─── 2. EMOTION AS A SERVICE ───
   Concept : produit SaaS / commodification de l'affect
   Structure : header publicitaire plein largeur, grille de services
   Marqueur : fond blush, tier cards en grille 3 col prominente, slogan en grand
*/
body.apps-page[data-app-slug="emotion-as-a-service"] .art-apps-module {
  border: 1px solid var(--art-app-line);
  border-radius: 20px;
  overflow: hidden;
}
body.apps-page[data-app-slug="emotion-as-a-service"] .art-apps-module__workspace {
  grid-template-columns: minmax(155px, 0.32fr) minmax(0, 1.68fr);
  min-height: 72vh;
}
body.apps-page[data-app-slug="emotion-as-a-service"] .art-apps-module__controlpane {
  background: var(--art-app-card);
}
body.apps-page[data-app-slug="emotion-as-a-service"] .art-apps-module__adtext {
  font-size: clamp(15px, 1.8vw, 22px) !important;
  border: none !important;
  border-bottom: 2px solid var(--art-app-ink) !important;
  border-radius: 0 !important;
  margin: 0 -20px 16px !important;
  padding: 14px 20px !important;
  background: var(--art-app-soft) !important;
}
body.apps-page[data-app-slug="emotion-as-a-service"] .art-apps-module__adtext::before {
  display: none !important;
}
body.apps-page[data-app-slug="emotion-as-a-service"] .art-apps-module__tier-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 8px;
  margin-bottom: 16px;
}
body.apps-page[data-app-slug="emotion-as-a-service"] .art-apps-module__tier {
  padding: 12px;
  border: 1px solid var(--art-app-line);
  border-radius: 12px;
  background: var(--art-app-bg);
}
body.apps-page[data-app-slug="emotion-as-a-service"] .art-apps-module__tier strong {
  display: block;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin: 4px 0;
}
body.apps-page[data-app-slug="emotion-as-a-service"] .art-apps-module__tier p {
  font-size: 9px;
  opacity: 0.6;
  margin: 0;
}
body.apps-page[data-app-slug="emotion-as-a-service"] .art-apps-module__headline {
  font-size: clamp(22px, 3vw, 42px) !important;
}

/* ─── 3. DESIRE INTERFACE ───
   Concept : diagnostic / cartographie du désir
   Structure : full-screen output centré, radar SVG proéminent
   Marqueur : fond ivoire, radar ambre, leadcard comme titre de diagnostic
*/
body.apps-page[data-app-slug="desire-interface"] .art-apps-module {
  border: none;
  border-radius: 0;
}
body.apps-page[data-app-slug="desire-interface"] .art-apps-module__workspace {
  grid-template-columns: minmax(140px, 0.25fr) minmax(0, 1.75fr);
  min-height: 80vh;
  border-top: 1px solid var(--art-app-line);
}
body.apps-page[data-app-slug="desire-interface"] .art-apps-module__controlpane {
  border-right: 1px solid var(--art-app-line);
  background: var(--art-app-soft);
}
body.apps-page[data-app-slug="desire-interface"] .art-apps-desire-radar {
  width: 100% !important;
  height: auto !important;
  max-width: 220px;
  display: block;
  margin: 12px auto;
}
body.apps-page[data-app-slug="desire-interface"] .art-apps-module__headline {
  font-size: clamp(26px, 4vw, 58px) !important;
  text-transform: uppercase !important;
  letter-spacing: -0.04em !important;
}
body.apps-page[data-app-slug="desire-interface"] .art-apps-module__lede {
  font-style: normal !important;
  font-size: 10px !important;
  opacity: 0.5;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
body.apps-page[data-app-slug="desire-interface"] .art-apps-module__leadcard {
  border: none !important;
  border-bottom: 1px solid var(--art-app-line) !important;
  border-radius: 0 !important;
  padding: 20px 20px 16px !important;
}

/* ─── 4. GLOSSARY OF HYBRID FUTURES ───
   Concept : dictionnaire en expansion perpétuelle
   Structure : liste alphabétique très longue gauche, fiche encyclopédique droite
   Marqueur : fond parchemin, liste termes scrollable en colonne, titre de fiche massif
*/
body.apps-page[data-app-slug="glossary-of-hybrid-futures"] .art-apps-module {
  border: none;
  border-radius: 0;
}
body.apps-page[data-app-slug="glossary-of-hybrid-futures"] .art-apps-module__workspace {
  grid-template-columns: minmax(200px, 0.35fr) minmax(0, 1.65fr);
  min-height: 82vh;
  align-items: stretch;
  border-top: 2px solid var(--art-app-ink);
}
body.apps-page[data-app-slug="glossary-of-hybrid-futures"] .art-apps-module__controlpane {
  border-right: 2px solid var(--art-app-ink);
  background: var(--art-app-bg);
  padding: 0;
}
body.apps-page[data-app-slug="glossary-of-hybrid-futures"] .art-apps-glossary-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  overflow-y: auto;
  max-height: 60vh;
}
body.apps-page[data-app-slug="glossary-of-hybrid-futures"] .art-apps-glossary-list button {
  text-align: left;
  padding: 6px 12px;
  font-size: 10px;
  font-weight: 400;
  border-bottom: 1px solid var(--art-app-line);
  border-radius: 0;
  background: none;
  cursor: pointer;
  opacity: 0.6;
  transition: opacity 0.1s ease, background 0.1s ease;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.apps-page[data-app-slug="glossary-of-hybrid-futures"] .art-apps-glossary-list button:hover,
body.apps-page[data-app-slug="glossary-of-hybrid-futures"] .art-apps-glossary-list button.is-active {
  opacity: 1;
  font-weight: 700;
  background: rgba(28,26,20,0.06);
}
body.apps-page[data-app-slug="glossary-of-hybrid-futures"] .art-apps-glossary-card {
  padding: 28px 28px 20px;
  border-radius: 0 !important;
  border: none !important;
  background: var(--art-app-bg);
}
body.apps-page[data-app-slug="glossary-of-hybrid-futures"] .art-apps-glossary-card h3 {
  font-size: clamp(28px, 4.5vw, 56px) !important;
}
body.apps-page[data-app-slug="glossary-of-hybrid-futures"] .art-apps-module__stage {
  background: var(--art-app-bg);
}

/* ─── 5. TRANSLATOR ───
   Concept : relay d'interprétation / chaine de causalité
   Structure : signal tech en titre très proéminent, conséquences en flux vertical coloré
   Marqueur : fond blanc cassé, chaque domaine marqué d'une couleur propre, flow visible
*/
body.apps-page[data-app-slug="translator-of-technological-news-into-human-consequences"] .art-apps-module {
  border: none;
  border-radius: 0;
}
body.apps-page[data-app-slug="translator-of-technological-news-into-human-consequences"] .art-apps-module__workspace {
  grid-template-columns: minmax(140px, 0.26fr) minmax(0, 1.74fr);
  min-height: 78vh;
  border-top: 1px solid var(--art-app-line);
}
body.apps-page[data-app-slug="translator-of-technological-news-into-human-consequences"] .art-apps-module__controlpane {
  border-right: 1px solid var(--art-app-line);
  background: var(--art-app-soft);
}
/* Signal source titre très mis en avant */
body.apps-page[data-app-slug="translator-of-technological-news-into-human-consequences"] .art-apps-module__leadcard {
  border: none !important;
  border-bottom: 3px solid var(--art-app-ink) !important;
  border-radius: 0 !important;
  padding-bottom: 14px !important;
  margin-bottom: 0 !important;
}
body.apps-page[data-app-slug="translator-of-technological-news-into-human-consequences"] .art-apps-module__headline {
  font-size: clamp(18px, 2.5vw, 34px) !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
}
body.apps-page[data-app-slug="translator-of-technological-news-into-human-consequences"] .art-apps-module__lede {
  font-size: 10px !important;
  opacity: 0.5;
  font-style: normal !important;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
/* Chaque row = une ligne de conséquence, clairement séparée */
body.apps-page[data-app-slug="translator-of-technological-news-into-human-consequences"] .art-apps-module__result .art-apps-module__row {
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid var(--art-app-line);
  border-radius: 0;
  background: none;
}
body.apps-page[data-app-slug="translator-of-technological-news-into-human-consequences"] .art-apps-module__result .art-apps-module__term {
  font-size: 8px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding-top: 2px;
}
body.apps-page[data-app-slug="translator-of-technological-news-into-human-consequences"] .art-apps-module__result .art-apps-module__value span {
  font-size: 12px !important;
  font-weight: 300 !important;
  line-height: 1.6 !important;
}
/* SVG flow diagram */
.art-apps-translator-flow {
  display: block;
  width: 100%;
  overflow: visible;
  margin: 0 0 8px;
}

/* ─── 6. CORPORATE CONFESSION ───
   Concept : document officiel / lettre institutionnelle
   Structure : fond blanc, papier à lettre, texte se génère comme un doc Word
   Marqueur : letterhead, monospace typewriter, marge interne large
*/
body.apps-page[data-app-slug="corporate-confession-generator"] .art-apps-module {
  border: none;
  border-radius: 0;
}
body.apps-page[data-app-slug="corporate-confession-generator"] .art-apps-module__workspace {
  grid-template-columns: minmax(155px, 0.3fr) minmax(0, 1.7fr);
  min-height: 78vh;
  border-top: 1px solid var(--art-app-line);
}
body.apps-page[data-app-slug="corporate-confession-generator"] .art-apps-module__controlpane {
  border-right: 1px solid var(--art-app-line);
  background: var(--art-app-soft);
}
/* Stage = page A4 simulée */
body.apps-page[data-app-slug="corporate-confession-generator"] [data-module-output] {
  background: #fff !important;
  padding: 0 !important;
}
body.apps-page[data-app-slug="corporate-confession-generator"] .art-apps-live-letter {
  font-size: 11px !important;
  line-height: 1.95 !important;
  padding: 32px 40px !important;
  border: none !important;
  border-radius: 0 !important;
  min-height: 60vh !important;
  border-left: 4px solid var(--art-app-line) !important;
  margin: 0 !important;
}
body.apps-page[data-app-slug="corporate-confession-generator"] .art-apps-module__leadcard {
  border: none !important;
  border-bottom: 1px solid var(--art-app-line) !important;
  border-radius: 0 !important;
  padding: 14px 20px !important;
}
body.apps-page[data-app-slug="corporate-confession-generator"] .art-apps-module__headline {
  font-size: clamp(13px, 1.6vw, 18px) !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
}
body.apps-page[data-app-slug="corporate-confession-generator"] .art-apps-module__lede {
  font-size: 9px !important;
  opacity: 0.45;
  font-style: normal !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}

/* ─── 7. FLORA CACHE ATLAS ───
   Concept : atlas noir / centre de donnees + occurrences vegetales
   Structure : grande carte a gauche, releve editorial a droite
   Marqueur : fond noir, annotations acides, lignes fines, ambiance scientifique / poetique
*/
body.apps-page[data-app-slug="flora-cache-atlas"] {
  --art-app-bg: #030705;
  --art-app-ink: #edf3ed;
  --art-app-line: rgba(255, 255, 255, 0.13);
  --art-app-acid: #9dff57;
  --art-app-soft: #09100c;
  --art-app-muted: rgba(237, 243, 237, 0.68);
  background: #010402;
  color: var(--art-app-ink);
}
body.apps-page[data-app-slug="flora-cache-atlas"] .whitemask {
  display: none;
}
body.apps-page[data-app-slug="flora-cache-atlas"] nav {
  background: #010402;
  color: var(--art-app-ink);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
body.apps-page[data-app-slug="flora-cache-atlas"] #menu-colophon a,
body.apps-page[data-app-slug="flora-cache-atlas"] .link-home a,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-nav-current a,
body.apps-page[data-app-slug="flora-cache-atlas"] #titre a,
body.apps-page[data-app-slug="flora-cache-atlas"] #sous-titre span {
  color: var(--art-app-ink);
}
body.apps-page[data-app-slug="flora-cache-atlas"] .header-cart img {
  filter: invert(1);
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-shell--project,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-project-page {
  color: var(--art-app-ink);
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-project-head,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-project-notes,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-related--panel,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-notes-panel,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-notes-panel__body {
  background: #050a07;
  color: var(--art-app-ink);
  border-color: var(--art-app-line);
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-notes-panel summary,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-related-link,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-backlink a {
  color: var(--art-app-ink);
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-related-link {
  border-top-color: var(--art-app-line);
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-module {
  --art-app-bg: #030705;
  --art-app-ink: #edf3ed;
  --art-app-line: rgba(255, 255, 255, 0.13);
  --art-app-muted: rgba(237, 243, 237, 0.68);
  --art-app-soft: #09100c;
  --art-app-card: rgba(255, 255, 255, 0.03);
  --art-app-button-bg: rgba(157, 255, 87, 0.08);
  --art-app-button-ink: #edf3ed;
  --art-app-button-hover-bg: rgba(157, 255, 87, 0.16);
  --art-app-button-hover-ink: #edf3ed;
  --art-app-chip-bg: rgba(157, 255, 87, 0.04);
  --art-app-chip-ink: #edf3ed;
  --art-app-chip-line: rgba(157, 255, 87, 0.34);
  background: transparent;
  border: none;
  color: var(--art-app-ink);
  padding: 0;
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-module__header {
  padding: 0 0 8px;
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-module__summaryline {
  color: rgba(237, 243, 237, 0.68);
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-project-intro,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-module__eyebrow,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-project-meta,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-inline-meta,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__map-copy,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__legend,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-notes-panel__body,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-module__about-section-body,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-related--panel,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-related-link {
  color: var(--art-app-muted);
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-project-head h1,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-module__header h2,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__panel h3,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__ranked-name,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__ranked-row strong,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-notes-panel summary,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-backlink a {
  color: var(--art-app-ink);
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-module__button {
  background: rgba(157, 255, 87, 0.08);
  border-color: rgba(157, 255, 87, 0.42);
  color: var(--art-app-ink);
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-module__button:hover {
  background: rgba(157, 255, 87, 0.16);
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-chip,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-inline-meta {
  border-color: rgba(157, 255, 87, 0.34);
  color: var(--art-app-ink);
  background: rgba(157, 255, 87, 0.04);
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.72fr);
  gap: 0;
  min-height: 76vh;
  border: 1px solid var(--art-app-line);
  background:
    linear-gradient(to bottom, rgba(157, 255, 87, 0.03), rgba(157, 255, 87, 0) 30%),
    #030705;
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__map-shell {
  display: flex;
  flex-direction: column;
  min-height: 76vh;
  border-right: 1px solid var(--art-app-line);
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__map-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--art-app-line);
  background:
    linear-gradient(180deg, rgba(157, 255, 87, 0.04), rgba(157, 255, 87, 0) 100%);
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__map-copy {
  font-size: 10px;
  line-height: 14px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(237, 243, 237, 0.66);
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__map {
  position: relative;
  min-height: 620px;
  background:
    radial-gradient(circle at 50% 50%, rgba(157, 255, 87, 0.06), transparent 32%),
    linear-gradient(180deg, #020503, #030705);
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__legend {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  padding: 10px 14px;
  border-top: 1px solid var(--art-app-line);
  font-size: 10px;
  line-height: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(237, 243, 237, 0.68);
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__legend span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__legend-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  display: inline-block;
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__legend-dot--center {
  background: #e7efe7;
  border: 1px solid var(--art-app-acid);
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__legend-dot--flora {
  background: rgba(0, 0, 0, 0.8);
  border: 1px solid var(--art-app-acid);
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__panel {
  display: flex;
  flex-direction: column;
  min-height: 76vh;
  background: #050a07;
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 14px;
  border-bottom: 1px solid var(--art-app-line);
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__panel-head p {
  margin: 4px 0 0;
  max-width: 28ch;
  color: rgba(237, 243, 237, 0.72);
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__panel-body {
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__panel-state,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__site-block {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__panel-state h3,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__site-head h3 {
  margin: 0;
  font-size: clamp(22px, 2.2vw, 34px);
  line-height: 1.04;
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__panel-state p,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__site-head p,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__caption-block p {
  margin: 0;
  max-width: none;
  color: rgba(237, 243, 237, 0.76);
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__empty-hints {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__empty-hints span {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 4px 8px;
  border: 1px solid rgba(157, 255, 87, 0.32);
  color: var(--art-app-acid);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__loading-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__loading-grid span {
  display: block;
  min-height: 72px;
  border: 1px solid var(--art-app-line);
  background:
    linear-gradient(90deg, rgba(157, 255, 87, 0.04), rgba(157, 255, 87, 0.12), rgba(157, 255, 87, 0.04));
  background-size: 220% 100%;
  animation: art-apps-flora-shimmer 1.3s linear infinite;
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__site-head {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__meta-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__meta-grid div {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 10px;
  border: 1px solid var(--art-app-line);
  background: rgba(157, 255, 87, 0.03);
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__meta-grid span {
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(237, 243, 237, 0.56);
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__meta-grid strong {
  font-size: 16px;
  font-weight: 400;
  color: var(--art-app-ink);
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__analysis {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 12px;
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__chart-block,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__list-grid section,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__caption-block {
  border: 1px solid var(--art-app-line);
  background: rgba(255, 255, 255, 0.02);
  padding: 10px;
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__radial {
  display: block;
  width: 100%;
  max-width: 144px;
  margin-top: 8px;
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__list-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__ranked-list {
  display: flex;
  flex-direction: column;
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__ranked-row {
  display: grid;
  grid-template-columns: 28px 1fr auto;
  gap: 8px;
  align-items: start;
  padding: 8px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__ranked-row:last-child {
  border-bottom: none;
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__rank {
  color: var(--art-app-acid);
  font-size: 9px;
  letter-spacing: 0.08em;
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__ranked-name {
  font-size: 12px;
  line-height: 16px;
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__ranked-row strong {
  font-size: 12px;
  font-weight: 400;
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__empty {
  color: rgba(237, 243, 237, 0.52);
  font-size: 12px;
  line-height: 16px;
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__caption-block p {
  color: #d9f0c5;
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__map-error {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 24px;
  text-align: center;
  color: var(--art-app-ink);
}
body.apps-page[data-app-slug="flora-cache-atlas"] .maplibregl-ctrl-group {
  background: rgba(5, 10, 7, 0.94);
  border: 1px solid rgba(157, 255, 87, 0.24);
  box-shadow: none;
}
body.apps-page[data-app-slug="flora-cache-atlas"] .maplibregl-ctrl-group button {
  background: transparent;
}
body.apps-page[data-app-slug="flora-cache-atlas"] .maplibregl-ctrl-icon {
  filter: invert(1) grayscale(1);
  opacity: 0.84;
}
@keyframes art-apps-flora-shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* ─── 8. RECURRENCE GARDEN ───
   Concept : matrice noire / recurrence botanique / annotation technique
   Structure : heatmap dense a gauche, profil speculatif a droite
*/
body.apps-page[data-app-slug="recurrence-garden"] {
  --art-app-bg: #020503;
  --art-app-ink: #edf3ed;
  --art-app-line: rgba(255, 255, 255, 0.12);
  --art-app-acid: #98ff4a;
  --art-app-muted: rgba(237, 243, 237, 0.68);
  background: #010402;
  color: var(--art-app-ink);
}
body.apps-page[data-app-slug="recurrence-garden"] .whitemask {
  display: none;
}
body.apps-page[data-app-slug="recurrence-garden"] nav {
  background: #010402;
  color: var(--art-app-ink);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
body.apps-page[data-app-slug="recurrence-garden"] #menu-colophon a,
body.apps-page[data-app-slug="recurrence-garden"] .link-home a,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-nav-current a,
body.apps-page[data-app-slug="recurrence-garden"] #titre a,
body.apps-page[data-app-slug="recurrence-garden"] #sous-titre span {
  color: var(--art-app-ink);
}
body.apps-page[data-app-slug="recurrence-garden"] .header-cart img {
  filter: invert(1);
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-project-head,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-project-notes,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-related--panel,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-notes-panel,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-notes-panel__body {
  background: #050905;
  color: var(--art-app-ink);
  border-color: var(--art-app-line);
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-notes-panel summary,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-related-link,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-backlink a {
  color: var(--art-app-ink);
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-related-link {
  border-top-color: var(--art-app-line);
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-module {
  --art-app-bg: #020503;
  --art-app-ink: #edf3ed;
  --art-app-line: rgba(255, 255, 255, 0.12);
  --art-app-muted: rgba(237, 243, 237, 0.68);
  --art-app-soft: #060b05;
  --art-app-card: rgba(255, 255, 255, 0.03);
  --art-app-button-bg: rgba(152, 255, 74, 0.06);
  --art-app-button-ink: #edf3ed;
  --art-app-button-hover-bg: rgba(152, 255, 74, 0.13);
  --art-app-button-hover-ink: #edf3ed;
  --art-app-chip-bg: rgba(152, 255, 74, 0.04);
  --art-app-chip-ink: #edf3ed;
  --art-app-chip-line: rgba(152, 255, 74, 0.32);
  background: transparent;
  border: none;
  color: var(--art-app-ink);
  padding: 0;
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-project-intro,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-module__eyebrow,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-module__summaryline,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-module__guide-head p,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-module__lede,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-module__empty,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-module__hint,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-project-meta,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-inline-meta,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-notes-panel__body,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-module__about-section-body,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-related--panel,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-related-link {
  color: var(--art-app-muted);
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-project-head h1,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-module__header h2,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__profile h3,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__metrics strong,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__profile-meta strong,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__ranked-copy strong,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-notes-panel summary,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-backlink a {
  color: var(--art-app-ink);
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-module__button {
  background: rgba(152, 255, 74, 0.06);
  border-color: rgba(152, 255, 74, 0.38);
  color: var(--art-app-ink);
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-module__button:hover {
  background: rgba(152, 255, 74, 0.13);
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-chip,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-inline-meta {
  border-color: rgba(152, 255, 74, 0.32);
  color: var(--art-app-ink);
  background: rgba(152, 255, 74, 0.04);
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid var(--art-app-line);
  background:
    linear-gradient(180deg, rgba(152, 255, 74, 0.03), rgba(152, 255, 74, 0) 22%),
    #020503;
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--art-app-line);
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__actions {
  display: flex;
  align-items: center;
  gap: 12px;
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__toggle {
  display: inline-flex;
  border: 1px solid var(--art-app-line);
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__toggle button {
  min-height: 30px;
  padding: 0 12px;
  border: none;
  border-right: 1px solid var(--art-app-line);
  background: transparent;
  color: rgba(237, 243, 237, 0.72);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 10px;
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__toggle button:last-child {
  border-right: none;
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__toggle button.is-active {
  background: rgba(152, 255, 74, 0.12);
  color: var(--art-app-ink);
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.22fr) minmax(320px, 0.78fr);
  min-height: 72vh;
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__main {
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--art-app-line);
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--art-app-line);
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__metrics div {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-height: 64px;
  padding: 10px;
  border: 1px solid var(--art-app-line);
  background: rgba(152, 255, 74, 0.03);
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__metrics span {
  font-size: 10px;
  line-height: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(237, 243, 237, 0.58);
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__metrics strong {
  font-size: clamp(18px, 2vw, 28px);
  line-height: 1;
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__panel {
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid var(--art-app-line);
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__panel:last-child {
  border-bottom: none;
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--art-app-line);
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__legend {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 10px;
  line-height: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(237, 243, 237, 0.58);
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__legend i {
  display: inline-block;
  width: 86px;
  height: 9px;
  border: 1px solid rgba(152, 255, 74, 0.32);
  background: linear-gradient(90deg, #061006, #98ff4a);
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__heatmap-shell,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__ranked-shell {
  padding: 12px 14px 14px;
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__heatmap-shell {
  min-height: 480px;
  overflow: auto;
  background:
    linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px),
    #020503;
  background-size: 22px 22px, 22px 22px, auto;
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__ranked-shell {
  max-height: 280px;
  overflow: auto;
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__profile {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 14px;
  background:
    linear-gradient(180deg, rgba(152, 255, 74, 0.04), rgba(152, 255, 74, 0) 30%),
    #050905;
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__profile-state,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__profile-block {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__profile-state h3,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__profile-block h3 {
  margin: 0;
  font-size: clamp(24px, 2.3vw, 36px);
  line-height: 1.02;
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__profile-state p,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__profile-block p {
  margin: 0;
  color: rgba(237, 243, 237, 0.76);
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__family {
  font-style: italic;
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__profile-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__profile-meta div {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-height: 64px;
  padding: 10px;
  border: 1px solid var(--art-app-line);
  background: rgba(152, 255, 74, 0.03);
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__profile-meta span {
  font-size: 10px;
  line-height: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(237, 243, 237, 0.58);
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__profile-meta strong {
  font-size: 13px;
  line-height: 1.25;
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__sites {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__sites span,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__empty-hints span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 4px 8px;
  border: 1px solid rgba(152, 255, 74, 0.32);
  background: rgba(152, 255, 74, 0.04);
  color: var(--art-app-acid);
  font-size: 10px;
  line-height: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__notice {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-top: 2px;
  border-top: 1px solid var(--art-app-line);
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__profile-shimmer {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__profile-shimmer span,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__loading {
  display: block;
  min-height: 66px;
  border: 1px solid var(--art-app-line);
  background:
    linear-gradient(90deg, rgba(152, 255, 74, 0.04), rgba(152, 255, 74, 0.12), rgba(152, 255, 74, 0.04));
  background-size: 220% 100%;
  animation: art-apps-flora-shimmer 1.3s linear infinite;
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__loading {
  min-height: 220px;
  padding: 18px;
  color: transparent;
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__ranked-list,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__fallback-table {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__ranked-item,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__fallback-row {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 54px;
  padding: 10px 12px;
  border: 1px solid var(--art-app-line);
  background: transparent;
  color: var(--art-app-ink);
  text-align: left;
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__ranked-item.is-active,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__fallback-row.is-active {
  border-color: rgba(152, 255, 74, 0.42);
  background: rgba(152, 255, 74, 0.08);
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__rank {
  color: rgba(237, 243, 237, 0.48);
  font-size: 10px;
  letter-spacing: 0.08em;
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__ranked-copy {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__ranked-copy strong {
  font-size: 13px;
  line-height: 1.1;
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__ranked-copy em {
  font-size: 10px;
  line-height: 12px;
  color: rgba(237, 243, 237, 0.58);
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__ranked-meta {
  font-size: 11px;
  color: var(--art-app-acid);
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__svg {
  width: 100%;
  height: auto;
  display: block;
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__col-label,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__row-label,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__row-total,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__cell-count {
  font-family: "Roboto Mono", monospace;
  fill: rgba(237, 243, 237, 0.74);
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__col-label {
  font-size: 9px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__row-label {
  font-size: 10px;
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__row-total {
  font-size: 9px;
  fill: var(--art-app-acid);
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__cell-count {
  font-size: 9px;
  pointer-events: none;
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__row-bg {
  fill: transparent;
  stroke: rgba(255, 255, 255, 0.06);
  stroke-width: 1;
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__row.is-active .art-apps-recurrence__row-bg {
  fill: rgba(152, 255, 74, 0.08);
  stroke: rgba(152, 255, 74, 0.42);
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__cell {
  stroke: rgba(255, 255, 255, 0.08);
  stroke-width: 1;
  cursor: pointer;
}
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__empty {
  padding: 12px;
  border: 1px solid var(--art-app-line);
  color: rgba(237, 243, 237, 0.66);
}

/* ─── 9. SERVER BLOOM SHEETS ───
   Concept : posters clairs / fond noir / diagrammes circulaires d'herbier technique
*/
body.apps-page[data-app-slug="server-bloom-sheets"] {
  --art-app-bg: #040403;
  --art-app-ink: #f4f4ef;
  --art-app-line: rgba(255, 255, 255, 0.12);
  --art-app-acid: #98ff4a;
  --art-app-pink: #f1d5dd;
  --art-app-soft-paper: #f1f0ea;
  --art-app-muted: rgba(244, 244, 239, 0.68);
  background: #010101;
  color: var(--art-app-ink);
}
body.apps-page[data-app-slug="server-bloom-sheets"] .whitemask {
  display: none;
}
body.apps-page[data-app-slug="server-bloom-sheets"] nav {
  background: #010101;
  color: var(--art-app-ink);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
body.apps-page[data-app-slug="server-bloom-sheets"] #menu-colophon a,
body.apps-page[data-app-slug="server-bloom-sheets"] .link-home a,
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-nav-current a,
body.apps-page[data-app-slug="server-bloom-sheets"] #titre a,
body.apps-page[data-app-slug="server-bloom-sheets"] #sous-titre span {
  color: var(--art-app-ink);
}
body.apps-page[data-app-slug="server-bloom-sheets"] .header-cart img {
  filter: invert(1);
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-project-head,
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-project-notes,
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-related--panel,
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-notes-panel,
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-notes-panel__body {
  background: #050505;
  color: var(--art-app-ink);
  border-color: var(--art-app-line);
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-notes-panel summary,
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-related-link,
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-backlink a {
  color: var(--art-app-ink);
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-related-link {
  border-top-color: var(--art-app-line);
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-module {
  --art-app-bg: #040403;
  --art-app-ink: #f4f4ef;
  --art-app-line: rgba(255, 255, 255, 0.12);
  --art-app-muted: rgba(244, 244, 239, 0.68);
  --art-app-soft: #090909;
  --art-app-card: rgba(255, 255, 255, 0.03);
  --art-app-button-bg: rgba(152, 255, 74, 0.05);
  --art-app-button-ink: #f4f4ef;
  --art-app-button-hover-bg: rgba(152, 255, 74, 0.12);
  --art-app-button-hover-ink: #f4f4ef;
  --art-app-chip-bg: rgba(241, 213, 221, 0.04);
  --art-app-chip-ink: #f4f4ef;
  --art-app-chip-line: rgba(241, 213, 221, 0.3);
  background: transparent;
  border: none;
  color: var(--art-app-ink);
  padding: 0;
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-module__header p,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-module__block-head p,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-module__guide-head p,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-module__preset--card span,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-module__status,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-module__preview-domain,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-module__preview-source,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-module__preview-excerpt,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-module__source span,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-module__source em,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-module__tier p,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-module__statement-block p,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-module__term,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-module__field label,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-module__header p,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-module__block-head p,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-module__guide-head p,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-module__preset--card span,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-module__status,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-module__preview-domain,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-module__preview-source,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-module__preview-excerpt,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-module__source span,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-module__source em,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-module__tier p,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-module__statement-block p,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-module__term,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-module__field label,
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-module__header p,
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-module__block-head p,
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-module__guide-head p,
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-module__preset--card span,
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-module__status,
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-module__preview-domain,
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-module__preview-source,
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-module__preview-excerpt,
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-module__source span,
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-module__source em,
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-module__tier p,
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-module__statement-block p,
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-module__term,
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-module__field label {
  color: var(--art-app-muted) !important;
}
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-module__header h2,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-module__block-head h3,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-module__headline,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-module__preview-title,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-module__source strong,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-module__tier strong,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-module__field input,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-module__field textarea,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-module__field select,
body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-glossary-search,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-module__header h2,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-module__block-head h3,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-module__headline,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-module__preview-title,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-module__source strong,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-module__tier strong,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-module__field input,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-module__field textarea,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-module__field select,
body.apps-page[data-app-slug="recurrence-garden"] .art-apps-glossary-search,
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-module__header h2,
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-module__block-head h3,
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-module__headline,
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-module__preview-title,
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-module__source strong,
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-module__tier strong,
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-module__field input,
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-module__field textarea,
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-module__field select,
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-glossary-search {
  color: var(--art-app-ink) !important;
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-module__button {
  background: rgba(152, 255, 74, 0.05);
  border-color: rgba(152, 255, 74, 0.38);
  color: var(--art-app-ink);
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-module__button:hover {
  background: rgba(152, 255, 74, 0.12);
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-chip,
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-inline-meta {
  border-color: rgba(241, 213, 221, 0.3);
  color: var(--art-app-ink);
  background: rgba(241, 213, 221, 0.04);
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid var(--art-app-line);
  background:
    radial-gradient(circle at top left, rgba(241, 213, 221, 0.06), transparent 25%),
    radial-gradient(circle at bottom right, rgba(152, 255, 74, 0.05), transparent 24%),
    #030303;
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--art-app-line);
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--art-app-line);
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__metrics div {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-height: 62px;
  padding: 10px;
  border: 1px solid var(--art-app-line);
  background: rgba(255,255,255,0.02);
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__metrics span {
  font-size: 10px;
  line-height: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(244, 244, 239, 0.58);
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__metrics strong {
  font-size: clamp(18px, 2vw, 28px);
  line-height: 1;
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__legend {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  padding: 10px 14px;
  border-bottom: 1px solid var(--art-app-line);
  font-size: 10px;
  line-height: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(244, 244, 239, 0.58);
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__legend span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__legend-line {
  display: inline-block;
  width: 34px;
  height: 2px;
  background: var(--art-app-acid);
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__legend-line--fallback {
  background: var(--art-app-pink);
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__grid-shell {
  padding: 16px;
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__sheet {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 100%;
  padding: 14px;
  border: 1px solid rgba(0, 0, 0, 0.26);
  background:
    linear-gradient(180deg, rgba(152, 255, 74, 0.05), rgba(152, 255, 74, 0) 24%),
    linear-gradient(180deg, rgba(241, 213, 221, 0.06), rgba(241, 213, 221, 0) 18%),
    var(--art-app-soft-paper);
  color: #111;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.32);
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__sheet-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(17, 17, 17, 0.12);
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__sheet-index,
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__sheet-meta,
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__diagram-label,
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__sheet-grid span,
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__sheet-caption span {
  font-family: "Roboto Mono", monospace;
  font-size: 9px;
  line-height: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__sheet-index {
  color: #2a2a2a;
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__sheet-meta {
  color: rgba(17,17,17,0.46);
  text-align: right;
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__sheet-title h3 {
  margin: 0;
  font-size: clamp(20px, 2.1vw, 30px);
  line-height: 0.96;
  color: #0d0d0d;
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__sheet-title p {
  margin: 4px 0 0;
  color: rgba(17, 17, 17, 0.56);
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__sheet-diagram {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 6px 0 2px;
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__diagram-composite {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(120px, 0.92fr);
  align-items: center;
  gap: 12px;
  width: 100%;
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__diagram {
  width: 100%;
  max-width: 190px;
  height: auto;
  display: block;
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__population {
  display: flex;
  flex-direction: column;
  gap: 5px;
  width: 100%;
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__population-row {
  display: grid;
  grid-template-columns: 8px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-height: 22px;
  padding: 4px 0;
  border-bottom: 1px dotted rgba(17,17,17,0.12);
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__population-row:last-child {
  border-bottom: none;
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__population-row.is-dominant {
  background: rgba(152, 255, 74, 0.1);
  padding: 5px 6px;
  border: 1px solid rgba(17,17,17,0.12);
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__population-chip {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  box-shadow: inset 0 0 0 1px rgba(17,17,17,0.14);
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__population-row strong,
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__population-row em {
  font-family: "Roboto Mono", monospace;
  font-size: 9px;
  line-height: 11px;
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__population-row strong {
  color: #121212;
  font-style: normal;
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__population-row em {
  color: rgba(17,17,17,0.6);
  font-style: normal;
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__diagram-label {
  color: rgba(17,17,17,0.46);
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__sheet-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__sheet-grid div {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-height: 72px;
  padding: 10px;
  border: 1px solid rgba(17, 17, 17, 0.12);
  background: rgba(255,255,255,0.28);
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__sheet-grid span {
  color: rgba(17,17,17,0.48);
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__sheet-grid strong {
  font-size: 12px;
  line-height: 1.2;
  color: #111;
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__sheet-caption {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-top: 10px;
  border-top: 1px solid rgba(17,17,17,0.12);
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__sheet-caption span {
  color: rgba(17,17,17,0.48);
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__sheet-caption p {
  margin: 0;
  color: rgba(17,17,17,0.86);
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__sheet-mutation {
  font-family: "Times New Roman", Georgia, serif;
  font-size: 18px;
  line-height: 1.1;
  letter-spacing: 0.01em;
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__sheet-mutation em {
  font-style: italic;
  color: #0e0e0e;
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__loading {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 240px;
  padding: 12px 0;
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__loading p {
  margin: 0;
  color: rgba(244, 244, 239, 0.74);
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__loading-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__loading-grid span {
  display: block;
  min-height: 340px;
  border: 1px solid var(--art-app-line);
  background:
    linear-gradient(90deg, rgba(241, 213, 221, 0.06), rgba(152, 255, 74, 0.1), rgba(241, 213, 221, 0.06));
  background-size: 220% 100%;
  animation: art-apps-flora-shimmer 1.3s linear infinite;
}

/* ─── 10. COOLING FLORA INDEX ───
   Concept : laboratoire sombre / indice thermique vegetal / radar polaire
*/
body.apps-page[data-app-slug="cooling-flora-index"] {
  --art-app-bg: #030506;
  --art-app-ink: #edf4ef;
  --art-app-line: rgba(255, 255, 255, 0.12);
  --art-app-acid: #98ff4a;
  --art-app-soft: #09100e;
  --art-app-muted: rgba(237, 244, 239, 0.68);
  background:
    radial-gradient(circle at top left, rgba(152, 255, 74, 0.06), transparent 22%),
    radial-gradient(circle at bottom right, rgba(152, 255, 74, 0.04), transparent 26%),
    #010304;
  color: var(--art-app-ink);
}
body.apps-page[data-app-slug="cooling-flora-index"] .whitemask {
  display: none;
}
body.apps-page[data-app-slug="cooling-flora-index"] nav {
  background: #010304;
  color: var(--art-app-ink);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
body.apps-page[data-app-slug="cooling-flora-index"] #menu-colophon a,
body.apps-page[data-app-slug="cooling-flora-index"] .link-home a,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-nav-current a,
body.apps-page[data-app-slug="cooling-flora-index"] #titre a,
body.apps-page[data-app-slug="cooling-flora-index"] #sous-titre span {
  color: var(--art-app-ink);
}
body.apps-page[data-app-slug="cooling-flora-index"] .header-cart img {
  filter: invert(1);
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-shell--project,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-project-page {
  color: var(--art-app-ink);
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-project-head,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-project-notes,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-related--panel,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-notes-panel,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-notes-panel__body {
  background: #040809;
  color: var(--art-app-ink);
  border-color: var(--art-app-line);
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-notes-panel summary,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-related-link,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-backlink a {
  color: var(--art-app-ink);
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-related-link {
  border-top-color: var(--art-app-line);
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-module {
  --art-app-bg: #030506;
  --art-app-ink: #edf4ef;
  --art-app-line: rgba(255, 255, 255, 0.12);
  --art-app-muted: rgba(237, 244, 239, 0.68);
  --art-app-soft: #09100e;
  --art-app-card: rgba(255, 255, 255, 0.03);
  --art-app-button-bg: rgba(152, 255, 74, 0.06);
  --art-app-button-ink: #edf4ef;
  --art-app-button-hover-bg: rgba(152, 255, 74, 0.14);
  --art-app-button-hover-ink: #edf4ef;
  --art-app-chip-bg: rgba(152, 255, 74, 0.04);
  --art-app-chip-ink: #edf4ef;
  --art-app-chip-line: rgba(152, 255, 74, 0.34);
  background: transparent;
  border: none;
  color: var(--art-app-ink);
  padding: 0;
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-project-intro,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-project-meta,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-inline-meta,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-module__summaryline,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-module__eyebrow,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-notes-panel__body,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-module__about-section-body,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-related--panel,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-related-link,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__legend,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__panel-block > p,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__panel-state p {
  color: var(--art-app-muted);
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-project-head h1,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-module__header h2,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__panel h3,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__score-card strong,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__metric-head strong,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-notes-panel summary,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-backlink a {
  color: var(--art-app-ink);
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-module__header p,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-module__block-head p,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-module__guide-head p,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-module__preset--card span,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-module__status,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-module__preview-domain,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-module__preview-source,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-module__preview-excerpt,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-module__source span,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-module__source em,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-module__tier p,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-module__statement-block p,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-module__term,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-module__field label {
  color: var(--art-app-muted) !important;
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-module__headline,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-module__preview-title,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-module__source strong,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-module__tier strong,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-module__field input,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-module__field textarea,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-module__field select,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-glossary-search,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-module__value span {
  color: var(--art-app-ink) !important;
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-module__row {
  border-top-color: rgba(255, 255, 255, 0.08);
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-module__button {
  background: rgba(152, 255, 74, 0.06);
  border-color: rgba(152, 255, 74, 0.4);
  color: var(--art-app-ink);
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-module__button:hover {
  background: rgba(152, 255, 74, 0.14);
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-chip,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-inline-meta {
  border-color: rgba(152, 255, 74, 0.34);
  color: var(--art-app-ink);
  background: rgba(152, 255, 74, 0.04);
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid var(--art-app-line);
  background:
    radial-gradient(circle at top left, rgba(152, 255, 74, 0.06), transparent 26%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.02), rgba(255, 255, 255, 0) 18%),
    #030506;
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__toolbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--art-app-line);
  background:
    linear-gradient(180deg, rgba(152, 255, 74, 0.04), rgba(152, 255, 74, 0) 100%);
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__controls {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__select-wrap {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: min(280px, 100%);
  color: var(--art-app-muted);
  font-size: 10px;
  line-height: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__select-wrap select {
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid rgba(152, 255, 74, 0.28);
  background: rgba(6, 11, 10, 0.96);
  color: var(--art-app-ink);
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.22fr) minmax(320px, 0.78fr);
  min-height: 68vh;
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__main {
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--art-app-line);
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__chart-panel {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  padding: 16px;
  gap: 12px;
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__legend {
  font-family: "Roboto Mono", monospace;
  font-size: 10px;
  line-height: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__chart-shell {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 520px;
  padding: 10px;
  border: 1px solid var(--art-app-line);
  background:
    radial-gradient(circle at center, rgba(152, 255, 74, 0.06), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0) 100%),
    #05090a;
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__metric-shell {
  padding: 0 16px 16px;
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__metric-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__metric-row {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid var(--art-app-line);
  background: rgba(255, 255, 255, 0.025);
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__metric-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__metric-head span {
  color: var(--art-app-muted);
  font-size: 10px;
  line-height: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__metric-head strong {
  font-family: "Roboto Mono", monospace;
  font-size: 14px;
  line-height: 1;
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__metric-bar {
  position: relative;
  height: 10px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.04);
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__metric-bar span {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, #5ddf88, #98ff4a 55%, #ddffd0);
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__panel {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 16px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0) 22%),
    #040809;
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__panel-state,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__panel-block {
  display: flex;
  flex-direction: column;
  gap: 14px;
  height: 100%;
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__panel-state h3,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__panel-block h3 {
  margin: 0;
  font-size: clamp(24px, 2.3vw, 38px);
  line-height: 0.98;
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__score-card {
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: end;
  gap: 10px;
  min-height: 88px;
  padding: 14px;
  border: 1px solid rgba(152, 255, 74, 0.28);
  background:
    linear-gradient(135deg, rgba(152, 255, 74, 0.1), rgba(152, 255, 74, 0) 50%),
    rgba(255, 255, 255, 0.02);
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__score-card span,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__score-card em {
  font-family: "Roboto Mono", monospace;
  font-size: 10px;
  line-height: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--art-app-muted);
  font-style: normal;
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__score-card strong {
  font-size: clamp(18px, 1.9vw, 30px);
  line-height: 1;
  text-transform: capitalize;
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__protocol {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-top: 10px;
  border-top: 1px solid var(--art-app-line);
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__protocol p {
  margin: 0;
  color: rgba(237, 244, 239, 0.86);
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__empty-hints {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__empty-hints span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 4px 8px;
  border: 1px solid rgba(152, 255, 74, 0.32);
  background: rgba(152, 255, 74, 0.04);
  color: var(--art-app-acid);
  font-size: 10px;
  line-height: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__loading {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__loading span {
  display: block;
  min-height: 72px;
  border: 1px solid var(--art-app-line);
  background:
    linear-gradient(90deg, rgba(152, 255, 74, 0.04), rgba(152, 255, 74, 0.12), rgba(152, 255, 74, 0.04));
  background-size: 220% 100%;
  animation: art-apps-flora-shimmer 1.3s linear infinite;
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__radial {
  width: min(100%, 560px);
  height: auto;
  display: block;
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__axis-label,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__center-score,
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__center-label {
  font-family: "Roboto Mono", monospace;
  fill: var(--art-app-ink);
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__axis-label {
  font-size: 10px;
  letter-spacing: 0.04em;
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__center-score {
  font-size: 28px;
  font-weight: 700;
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__center-label {
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  fill: var(--art-app-acid);
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__fallback-chart {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: min(100%, 520px);
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__fallback-label {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid var(--art-app-line);
  background: rgba(255,255,255,0.025);
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__fallback-label span {
  color: var(--art-app-muted);
  font-size: 10px;
  line-height: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__fallback-label strong {
  font-family: "Roboto Mono", monospace;
  font-size: 13px;
}
body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__fallback-note {
  color: var(--art-app-muted);
  font-size: 10px;
  line-height: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

/* ─── 11. FORBIDDEN HANDSHAKE POSTER GENERATOR ───
   Concept : affiche generative pleine page / source live / declaration editoriale
*/
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] {
  --art-app-bg: #020203;
  --art-app-ink: #f4f3ef;
  --art-app-line: rgba(255, 255, 255, 0.14);
  --art-app-acid: #9bff54;
  --art-app-soft: #09090b;
  --art-app-muted: rgba(244, 243, 239, 0.68);
  background: #010102;
  color: var(--art-app-ink);
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .whitemask {
  display: none;
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] nav {
  background: #010102;
  color: var(--art-app-ink);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] #menu-colophon a,
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .link-home a,
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-nav-current a,
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] #titre a,
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] #sous-titre span {
  color: var(--art-app-ink);
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .header-cart img {
  filter: invert(1);
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-project-head,
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-project-notes,
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-related--panel,
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-notes-panel,
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-notes-panel__body {
  background: #040406;
  color: var(--art-app-ink);
  border-color: var(--art-app-line);
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-notes-panel summary,
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-related-link,
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-backlink a {
  color: var(--art-app-ink);
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-related-link {
  border-top-color: var(--art-app-line);
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-module {
  --art-app-bg: #020203;
  --art-app-ink: #f4f3ef;
  --art-app-line: rgba(255, 255, 255, 0.14);
  --art-app-muted: rgba(244, 243, 239, 0.68);
  --art-app-soft: #09090b;
  --art-app-card: rgba(255, 255, 255, 0.03);
  --art-app-button-bg: rgba(255, 255, 255, 0.04);
  --art-app-button-ink: #f4f3ef;
  --art-app-button-hover-bg: rgba(155, 255, 84, 0.1);
  --art-app-button-hover-ink: #f4f3ef;
  --art-app-chip-bg: rgba(255, 255, 255, 0.03);
  --art-app-chip-ink: #f4f3ef;
  --art-app-chip-line: rgba(255, 255, 255, 0.18);
  background: transparent;
  border: none;
  color: var(--art-app-ink);
  padding: 0;
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-project-intro,
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-project-meta,
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-inline-meta,
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-module__summaryline,
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-module__eyebrow,
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-notes-panel__body,
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-module__about-section-body,
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-related--panel,
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-related-link {
  color: var(--art-app-muted);
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-project-head h1,
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-module__header h2,
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-notes-panel summary,
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-backlink a {
  color: var(--art-app-ink);
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-module__header p,
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-module__block-head p,
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-module__guide-head p,
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-module__preset--card span,
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-module__status,
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-module__preview-domain,
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-module__preview-source,
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-module__preview-excerpt,
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-module__source span,
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-module__source em,
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-module__term,
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-module__field label {
  color: var(--art-app-muted) !important;
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-module__preview-title,
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-module__source strong,
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-module__field input,
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-module__field textarea,
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-module__field select,
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-module__value span {
  color: var(--art-app-ink) !important;
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-module__button {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.18);
  color: var(--art-app-ink);
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-module__button:hover {
  background: rgba(155, 255, 84, 0.1);
  border-color: rgba(155, 255, 84, 0.3);
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-chip,
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-inline-meta {
  border-color: rgba(255, 255, 255, 0.18);
  color: var(--art-app-ink);
  background: rgba(255, 255, 255, 0.03);
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid var(--art-app-line);
  background:
    radial-gradient(circle at top left, rgba(155, 255, 84, 0.04), transparent 24%),
    radial-gradient(circle at bottom right, rgba(248, 200, 216, 0.05), transparent 26%),
    #020203;
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__toolbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--art-app-line);
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__controls {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__query-wrap {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: min(320px, 100%);
  color: var(--art-app-muted);
  font-size: 10px;
  line-height: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__query-wrap input {
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(8, 8, 10, 0.98);
  color: var(--art-app-ink);
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__body {
  display: grid;
  grid-template-columns: minmax(280px, 0.36fr) minmax(0, 1fr);
  gap: 0;
  min-height: 76vh;
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__feed {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 16px;
  border-right: 1px solid var(--art-app-line);
  background: rgba(255,255,255,0.02);
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__feed-head {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__feed-head p {
  margin: 0;
  color: var(--art-app-muted);
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__poster-stage {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 16px;
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__poster-stage .art-apps-signal-panel {
  margin: 0 0 12px;
  border-color: rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.02);
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__poster-stage .art-apps-archive {
  display: none;
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__poster-shell {
  display: flex;
  flex: 1 1 auto;
  min-height: 0;
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-module__result--poster {
  width: 100%;
  padding: 0;
  border: none;
  background: transparent;
  box-shadow: none;
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__poster-card {
  position: relative;
  display: flex;
  width: 100%;
  min-height: 1060px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.12);
  background: #050506;
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__poster-bg,
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__bg-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__poster-frame {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px;
  grid-template-rows: auto 1fr auto;
  gap: 18px 24px;
  width: 100%;
  padding: 26px;
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__micro {
  font-family: "Roboto Mono", monospace;
  font-size: 9px;
  line-height: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(244,243,239,0.55);
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__micro--top-left {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__micro--top-right,
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__micro--mid-right {
  grid-column: 2 / 3;
  justify-self: end;
  text-align: right;
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__micro--top-right {
  grid-row: 1 / 2;
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__micro--mid-right {
  align-self: start;
  margin-top: 56px;
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__title-block {
  grid-column: 1 / 2;
  grid-row: 2 / 3;
  align-self: center;
  max-width: 640px;
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__title {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 12px 0 16px;
  font-family: "TwoMontrouge", Helvetica, sans-serif;
  font-size: clamp(56px, 8vw, 116px);
  line-height: 0.88;
  letter-spacing: -0.04em;
  text-transform: uppercase;
  color: #f7f5f1;
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__title span:last-child {
  color: #9bff54;
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__slogan {
  max-width: 520px;
  margin: 0;
  font-size: clamp(18px, 2vw, 26px);
  line-height: 1.18;
  color: rgba(244,243,239,0.86);
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__poem {
  grid-column: 2 / 3;
  grid-row: 2 / 3;
  align-self: end;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(0,0,0,0.3);
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__poem p {
  margin: 0;
  font-size: 14px;
  line-height: 1.32;
  color: rgba(244,243,239,0.88);
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__annotation {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-width: 300px;
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__annotation--left {
  grid-column: 1 / 2;
  grid-row: 3 / 4;
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__annotation--right {
  grid-column: 2 / 3;
  grid-row: 3 / 4;
  justify-self: end;
  width: 100%;
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__annotation p,
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__annotation span {
  margin: 0;
  color: rgba(244,243,239,0.74);
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__annotation .art-apps-module__tags {
  justify-content: flex-start;
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__annotation .art-apps-module__tag {
  border-color: rgba(255,255,255,0.18);
  color: #f4f3ef;
  background: rgba(255,255,255,0.04);
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__footer {
  position: absolute;
  left: 26px;
  right: 26px;
  bottom: 22px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  padding-top: 10px;
  border-top: 1px solid rgba(255,255,255,0.14);
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__copyright,
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__source-domain {
  font-family: "Roboto Mono", monospace;
  font-size: 9px;
  line-height: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__copyright {
  color: rgba(244,243,239,0.55);
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__source-domain {
  color: #9bff54;
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__poster-loading {
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 100%;
  min-height: 760px;
  padding: 18px;
  border: 1px solid rgba(255,255,255,0.12);
  background: #050506;
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__poster-loading p {
  margin: 0;
  color: var(--art-app-muted);
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__poster-loading-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__poster-loading-grid span {
  display: block;
  min-height: 160px;
  border: 1px solid rgba(255,255,255,0.12);
  background:
    linear-gradient(90deg, rgba(255,255,255,0.04), rgba(155,255,84,0.1), rgba(255,255,255,0.04));
  background-size: 220% 100%;
  animation: art-apps-flora-shimmer 1.3s linear infinite;
}

/* ─── 12. EMANCIPATION PROTOCOL ─── */
body.apps-page[data-app-slug="emancipation-protocol"] {
  background: #050506;
  color: #f4f3ef;
}
body.apps-page[data-app-slug="emancipation-protocol"] .whitemask {
  background: #050506;
}
body.apps-page[data-app-slug="emancipation-protocol"] nav {
  background: rgba(5, 5, 6, 0.92);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
body.apps-page[data-app-slug="emancipation-protocol"] #menu-colophon a,
body.apps-page[data-app-slug="emancipation-protocol"] .link-home a,
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-nav-current a,
body.apps-page[data-app-slug="emancipation-protocol"] #titre a,
body.apps-page[data-app-slug="emancipation-protocol"] #sous-titre span {
  color: #f4f3ef;
}
body.apps-page[data-app-slug="emancipation-protocol"] .header-cart img {
  filter: invert(1);
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-project-head,
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-project-notes,
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-related--panel,
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-notes-panel,
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-notes-panel__body {
  border-color: rgba(255,255,255,0.09);
  background: rgba(255,255,255,0.015);
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-notes-panel summary,
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-related-link,
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-backlink a {
  color: #f4f3ef;
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-related-link {
  background: rgba(255,255,255,0.02);
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-module {
  --art-app-line: rgba(255,255,255,0.1);
  --art-app-line-strong: rgba(152,255,74,0.42);
  --art-app-ink: #f6f5f1;
  --art-app-muted: rgba(246,245,241,0.68);
  --art-app-subtle: rgba(246,245,241,0.48);
  color: var(--art-app-ink);
  background: rgba(255,255,255,0.02);
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-project-intro,
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-project-meta,
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-inline-meta,
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-module__summaryline,
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-module__eyebrow,
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-notes-panel__body,
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-module__about-section-body,
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-related--panel,
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-related-link,
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-module__preview-domain,
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-module__preview-source,
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-module__preview-excerpt,
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-module__source span,
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-module__source em,
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-module__field label {
  color: var(--art-app-muted);
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-project-head h1,
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-module__header h2,
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-notes-panel summary,
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-backlink a,
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-module__preview-title,
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-module__source strong {
  color: #f6f5f1;
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-module__field input,
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-module__field textarea,
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-module__field select,
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-glossary-search {
  border-color: rgba(255,255,255,0.16);
  color: var(--art-app-ink);
  background: rgba(255,255,255,0.03);
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-module__button {
  border-color: rgba(255,255,255,0.18);
  color: var(--art-app-ink);
  background: rgba(255,255,255,0.03);
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-module__button:hover {
  border-color: rgba(152,255,74,0.5);
  color: #98ff4a;
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-chip,
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-inline-meta {
  border-color: rgba(255,255,255,0.16);
  color: #f4f3ef;
  background: rgba(255,255,255,0.03);
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid var(--art-app-line);
  background:
    linear-gradient(180deg, rgba(152,255,74,0.03), rgba(152,255,74,0) 18%),
    radial-gradient(circle at top right, rgba(152,255,74,0.05), transparent 28%),
    #030304;
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__toolbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--art-app-line);
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__controls {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__query-wrap {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: min(360px, 100%);
  color: var(--art-app-muted);
  font-size: 10px;
  line-height: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__query-wrap input {
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(8, 8, 10, 0.98);
  color: var(--art-app-ink);
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__body {
  display: grid;
  grid-template-columns: minmax(280px, 0.34fr) minmax(0, 1fr);
  gap: 0;
  min-height: 76vh;
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__feed {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 16px;
  border-right: 1px solid var(--art-app-line);
  background: rgba(255,255,255,0.02);
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__feed-head {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__feed-head p {
  margin: 0;
  color: var(--art-app-muted);
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__poster-stage {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 16px;
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__poster-stage .art-apps-signal-panel {
  margin: 0 0 12px;
  border-color: rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.02);
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__poster-stage .art-apps-archive {
  display: none;
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__poster-shell {
  display: flex;
  flex: 1 1 auto;
  min-height: 0;
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-module__result--poster {
  width: 100%;
  padding: 0;
  border: none;
  background: transparent;
  box-shadow: none;
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__poster-card {
  position: relative;
  display: flex;
  width: 100%;
  min-height: 1060px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.12);
  background: #050506;
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__poster-bg,
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__bg-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__poster-frame {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 240px;
  grid-template-rows: auto 1fr auto;
  gap: 18px 24px;
  width: 100%;
  padding: 26px;
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__micro {
  font-family: "Roboto Mono", monospace;
  font-size: 9px;
  line-height: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(244,243,239,0.55);
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__micro--top-left {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__micro--top-right,
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__micro--mid-right {
  grid-column: 2 / 3;
  justify-self: end;
  text-align: right;
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__micro--top-right {
  grid-row: 1 / 2;
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__micro--mid-right {
  align-self: start;
  margin-top: 56px;
  color: #98ff4a;
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__title-block {
  grid-column: 1 / 2;
  grid-row: 2 / 3;
  align-self: start;
  max-width: 680px;
  padding-top: 92px;
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__title {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 12px 0 0;
  font-family: "TwoMontrouge", Helvetica, sans-serif;
  font-size: clamp(52px, 7vw, 108px);
  line-height: 0.88;
  letter-spacing: -0.045em;
  text-transform: uppercase;
  color: #f7f5f1;
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__title span:last-child {
  color: #98ff4a;
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__statement {
  grid-column: 2 / 3;
  grid-row: 2 / 3;
  align-self: center;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.025);
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__statement p {
  margin: 0;
  font-size: 16px;
  line-height: 1.38;
  color: rgba(244,243,239,0.9);
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__annotation {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-width: 300px;
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__annotation--left {
  grid-column: 1 / 2;
  grid-row: 3 / 4;
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__annotation--right {
  grid-column: 2 / 3;
  grid-row: 3 / 4;
  justify-self: end;
  width: 100%;
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__annotation p,
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__annotation span {
  margin: 0;
  color: rgba(244,243,239,0.74);
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__annotation .art-apps-module__tags {
  justify-content: flex-start;
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__annotation .art-apps-module__tag {
  border-color: rgba(255,255,255,0.16);
  color: #f4f3ef;
  background: rgba(255,255,255,0.04);
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__footer {
  position: absolute;
  left: 26px;
  right: 26px;
  bottom: 22px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: end;
  padding-top: 10px;
  border-top: 1px solid rgba(255,255,255,0.14);
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__technical {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__technical p {
  margin: 0;
  max-width: 640px;
  font-size: 12px;
  line-height: 1.34;
  color: rgba(244,243,239,0.7);
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__copyright {
  font-family: "Roboto Mono", monospace;
  font-size: 9px;
  line-height: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(244,243,239,0.56);
  text-align: right;
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__poster-loading {
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 100%;
  min-height: 760px;
  padding: 18px;
  border: 1px solid rgba(255,255,255,0.12);
  background: #050506;
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__poster-loading p {
  margin: 0;
  color: var(--art-app-muted);
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__poster-loading-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__poster-loading-grid span {
  display: block;
  min-height: 160px;
  border: 1px solid rgba(255,255,255,0.12);
  background: linear-gradient(90deg, rgba(255,255,255,0.03), rgba(152,255,74,0.1), rgba(255,255,255,0.03));
  background-size: 220% 100%;
  animation: art-apps-flora-shimmer 1.3s linear infinite;
}

/* ─── 13. LOGO OF DESIRE ─── */
body.apps-page[data-app-slug="logo-of-desire"] {
  background: #050506;
  color: #f4f3ef;
}
body.apps-page[data-app-slug="logo-of-desire"] .whitemask {
  background: #050506;
}
body.apps-page[data-app-slug="logo-of-desire"] nav {
  background: rgba(5, 5, 6, 0.92);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
body.apps-page[data-app-slug="logo-of-desire"] #menu-colophon a,
body.apps-page[data-app-slug="logo-of-desire"] .link-home a,
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-nav-current a,
body.apps-page[data-app-slug="logo-of-desire"] #titre a,
body.apps-page[data-app-slug="logo-of-desire"] #sous-titre span {
  color: #f4f3ef;
}
body.apps-page[data-app-slug="logo-of-desire"] .header-cart img {
  filter: invert(1);
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-project-head,
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-project-notes,
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-related--panel,
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-notes-panel,
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-notes-panel__body {
  border-color: rgba(255,255,255,0.09);
  background: rgba(255,255,255,0.015);
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-notes-panel summary,
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-related-link,
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-backlink a {
  color: #f4f3ef;
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-module {
  --art-app-line: rgba(255,255,255,0.1);
  --art-app-line-strong: rgba(245,212,221,0.5);
  --art-app-ink: #f6f5f1;
  --art-app-muted: rgba(246,245,241,0.68);
  --art-app-subtle: rgba(246,245,241,0.48);
  color: var(--art-app-ink);
  background: rgba(255,255,255,0.02);
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-project-intro,
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-project-meta,
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-inline-meta,
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-module__summaryline,
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-module__eyebrow,
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-notes-panel__body,
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-module__about-section-body,
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-related--panel,
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-related-link,
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-module__preview-domain,
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-module__preview-source,
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-module__preview-excerpt,
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-module__source span,
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-module__source em,
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-module__field label {
  color: var(--art-app-muted);
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-project-head h1,
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-module__header h2,
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-notes-panel summary,
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-backlink a,
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-module__preview-title,
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-module__source strong {
  color: #f6f5f1;
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-module__field input,
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-module__field textarea,
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-module__field select,
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-glossary-search {
  border-color: rgba(255,255,255,0.16);
  color: var(--art-app-ink);
  background: rgba(255,255,255,0.03);
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-module__button {
  border-color: rgba(255,255,255,0.18);
  color: var(--art-app-ink);
  background: rgba(255,255,255,0.03);
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-module__button:hover {
  border-color: rgba(245,212,221,0.5);
  color: #f5d4dd;
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-chip,
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-inline-meta {
  border-color: rgba(255,255,255,0.16);
  color: #f4f3ef;
  background: rgba(255,255,255,0.03);
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid var(--art-app-line);
  background:
    radial-gradient(circle at top left, rgba(245,212,221,0.06), transparent 24%),
    radial-gradient(circle at bottom right, rgba(152,255,74,0.04), transparent 22%),
    #020203;
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__toolbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--art-app-line);
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__controls {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__query-wrap {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: min(360px, 100%);
  color: var(--art-app-muted);
  font-size: 10px;
  line-height: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__query-wrap input {
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(8, 8, 10, 0.98);
  color: var(--art-app-ink);
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__body {
  display: grid;
  grid-template-columns: minmax(280px, 0.34fr) minmax(0, 1fr);
  gap: 0;
  min-height: 76vh;
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__feed {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 16px;
  border-right: 1px solid var(--art-app-line);
  background: rgba(255,255,255,0.02);
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__feed-head {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__feed-head p {
  margin: 0;
  color: var(--art-app-muted);
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__poster-stage {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 16px;
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__poster-stage .art-apps-signal-panel {
  margin: 0 0 12px;
  border-color: rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.02);
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__poster-stage .art-apps-archive {
  display: none;
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__poster-shell {
  display: flex;
  flex: 1 1 auto;
  min-height: 0;
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-module__result--poster {
  width: 100%;
  padding: 0;
  border: none;
  background: transparent;
  box-shadow: none;
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__poster-card {
  width: 100%;
  min-height: 1040px;
  border: 1px solid rgba(255,255,255,0.12);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0)),
    #050506;
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__frame {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(300px, 0.95fr);
  grid-template-rows: auto auto 1fr auto;
  gap: 22px 26px;
  min-height: 1040px;
  padding: 26px;
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__micro {
  font-family: "Roboto Mono", monospace;
  font-size: 9px;
  line-height: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(244,243,239,0.55);
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__micro--top-left {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__micro--top-right {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
  justify-self: end;
  color: #98ff4a;
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__logo-shell {
  grid-column: 1 / 2;
  grid-row: 2 / 4;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 520px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,0.1);
  background: rgba(255,255,255,0.02);
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__svg {
  width: 100%;
  max-width: 640px;
  height: auto;
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__copy {
  grid-column: 2 / 3;
  grid-row: 2 / 3;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__brand {
  margin: 0;
  font-family: "TwoMontrouge", Helvetica, sans-serif;
  font-size: clamp(42px, 5vw, 84px);
  line-height: 0.92;
  letter-spacing: -0.05em;
  text-transform: uppercase;
  color: #f7f5f1;
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__slogan {
  max-width: 520px;
  margin: 0;
  font-size: clamp(18px, 2vw, 24px);
  line-height: 1.18;
  color: rgba(245,212,221,0.92);
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__meta-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__meta-grid div {
  padding-top: 10px;
  border-top: 1px solid rgba(255,255,255,0.1);
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__meta-grid span {
  display: block;
  margin-bottom: 6px;
  font-family: "Roboto Mono", monospace;
  font-size: 10px;
  line-height: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(244,243,239,0.58);
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__meta-grid p {
  margin: 0;
  color: rgba(244,243,239,0.88);
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__annotation {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__annotation--left {
  grid-column: 2 / 3;
  grid-row: 3 / 4;
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__annotation--right {
  grid-column: 1 / 2;
  grid-row: 4 / 5;
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__annotation p,
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__annotation span {
  margin: 0;
  color: rgba(244,243,239,0.74);
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__annotation .art-apps-module__tags {
  justify-content: flex-start;
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__annotation .art-apps-module__tag {
  border-color: rgba(255,255,255,0.16);
  color: #f4f3ef;
  background: rgba(255,255,255,0.04);
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__footer {
  grid-column: 2 / 3;
  grid-row: 4 / 5;
  align-self: end;
  justify-self: end;
  width: 100%;
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,0.12);
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__copyright {
  font-family: "Roboto Mono", monospace;
  font-size: 9px;
  line-height: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(244,243,239,0.58);
  text-align: right;
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__poster-loading {
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 100%;
  min-height: 760px;
  padding: 18px;
  border: 1px solid rgba(255,255,255,0.12);
  background: #050506;
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__poster-loading p {
  margin: 0;
  color: var(--art-app-muted);
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__poster-loading-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__poster-loading-grid span {
  display: block;
  min-height: 160px;
  border: 1px solid rgba(255,255,255,0.12);
  background: linear-gradient(90deg, rgba(255,255,255,0.03), rgba(245,212,221,0.12), rgba(255,255,255,0.03));
  background-size: 220% 100%;
  animation: art-apps-flora-shimmer 1.3s linear infinite;
}

/* ─── 14. MECAFANTASMA REGISTRY ─── */
body.apps-page[data-app-slug="mecafantasma-registry"] {
  background: #050607;
  color: #f4f3ef;
}
body.apps-page[data-app-slug="mecafantasma-registry"] .whitemask {
  background: #050607;
}
body.apps-page[data-app-slug="mecafantasma-registry"] nav {
  background: rgba(5, 6, 7, 0.92);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
body.apps-page[data-app-slug="mecafantasma-registry"] #menu-colophon a,
body.apps-page[data-app-slug="mecafantasma-registry"] .link-home a,
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-nav-current a,
body.apps-page[data-app-slug="mecafantasma-registry"] #titre a,
body.apps-page[data-app-slug="mecafantasma-registry"] #sous-titre span {
  color: #f4f3ef;
}
body.apps-page[data-app-slug="mecafantasma-registry"] .header-cart img {
  filter: invert(1);
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-project-head,
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-project-notes,
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-related--panel,
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-notes-panel,
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-notes-panel__body {
  border-color: rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.02);
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-notes-panel summary,
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-related-link,
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-backlink a {
  color: #f4f3ef;
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-module {
  --art-app-line: rgba(255,255,255,0.1);
  --art-app-line-strong: rgba(152,255,74,0.5);
  --art-app-ink: #f5f4f0;
  --art-app-muted: rgba(245,244,240,0.68);
  --art-app-subtle: rgba(245,244,240,0.46);
  color: var(--art-app-ink);
  background: rgba(255,255,255,0.02);
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-project-intro,
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-project-meta,
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-inline-meta,
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-module__summaryline,
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-module__eyebrow,
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-notes-panel__body,
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-module__about-section-body,
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-related--panel,
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-related-link,
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-module__preview-domain,
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-module__preview-source,
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-module__preview-excerpt,
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-module__source span,
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-module__source em,
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-module__field label {
  color: var(--art-app-muted);
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-project-head h1,
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-module__header h2,
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-notes-panel summary,
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-backlink a,
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-module__preview-title,
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-module__source strong {
  color: #f5f4f0;
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-module__field input,
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-module__field textarea,
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-module__field select,
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-glossary-search {
  border-color: rgba(255,255,255,0.16);
  color: var(--art-app-ink);
  background: rgba(255,255,255,0.03);
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-module__button {
  border-color: rgba(255,255,255,0.18);
  color: var(--art-app-ink);
  background: rgba(255,255,255,0.03);
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-module__button:hover {
  border-color: rgba(152,255,74,0.5);
  color: #98ff4a;
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-chip,
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-inline-meta {
  border-color: rgba(255,255,255,0.14);
  color: #f4f3ef;
  background: rgba(255,255,255,0.03);
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid var(--art-app-line);
  background:
    radial-gradient(circle at top left, rgba(152,255,74,0.06), transparent 24%),
    radial-gradient(circle at bottom right, rgba(255,255,255,0.04), transparent 20%),
    #040506;
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__toolbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--art-app-line);
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__controls {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__query-wrap {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: min(360px, 100%);
  color: var(--art-app-muted);
  font-size: 10px;
  line-height: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__query-wrap input {
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(8, 8, 10, 0.98);
  color: var(--art-app-ink);
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__body {
  display: grid;
  grid-template-columns: minmax(280px, 0.34fr) minmax(0, 1fr);
  gap: 0;
  min-height: 76vh;
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__feed {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 16px;
  border-right: 1px solid var(--art-app-line);
  background: rgba(255,255,255,0.02);
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__feed-head {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__feed-head p {
  margin: 0;
  color: var(--art-app-muted);
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__poster-stage {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 16px;
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__poster-stage .art-apps-signal-panel {
  margin: 0 0 12px;
  border-color: rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.02);
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__poster-stage .art-apps-archive {
  display: none;
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__poster-shell {
  display: flex;
  flex: 1 1 auto;
  min-height: 0;
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-module__result--poster {
  width: 100%;
  padding: 0;
  border: none;
  background: transparent;
  box-shadow: none;
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__card {
  width: 100%;
  min-height: 980px;
  border: 1px solid rgba(255,255,255,0.12);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0)),
    #050607;
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__frame {
  display: grid;
  grid-template-columns: minmax(260px, 0.78fr) minmax(320px, 1.12fr);
  grid-template-rows: auto auto auto 1fr auto;
  gap: 22px 26px;
  min-height: 980px;
  padding: 26px;
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__micro {
  font-family: "Roboto Mono", monospace;
  font-size: 9px;
  line-height: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(244,243,239,0.55);
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__micro--top-left {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__micro--top-right {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
  justify-self: end;
  color: #98ff4a;
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__silhouette-shell {
  grid-column: 1 / 2;
  grid-row: 2 / 4;
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 420px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,0.1);
  background: rgba(255,255,255,0.02);
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__silhouette-svg {
  width: 100%;
  height: auto;
  margin: auto;
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__registry-copy {
  grid-column: 2 / 3;
  grid-row: 2 / 3;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__name {
  margin: 0;
  font-family: "TwoMontrouge", Helvetica, sans-serif;
  font-size: clamp(38px, 4.6vw, 74px);
  line-height: 0.94;
  letter-spacing: -0.05em;
  text-transform: uppercase;
  color: #f6f5f1;
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__lede {
  max-width: 620px;
  margin: 0;
  font-size: clamp(16px, 1.8vw, 22px);
  line-height: 1.24;
  color: rgba(152,255,74,0.86);
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__meta-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__meta-grid div {
  padding-top: 10px;
  border-top: 1px solid rgba(255,255,255,0.1);
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__meta-grid span {
  display: block;
  margin-bottom: 6px;
  font-family: "Roboto Mono", monospace;
  font-size: 10px;
  line-height: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(244,243,239,0.58);
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__meta-grid p {
  margin: 0;
  color: rgba(244,243,239,0.88);
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__diagram-shell {
  grid-column: 2 / 3;
  grid-row: 3 / 4;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__diagram-svg {
  width: 100%;
  max-width: 420px;
  height: auto;
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__annotation {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__annotation--left {
  grid-column: 1 / 2;
  grid-row: 4 / 5;
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__annotation--right {
  grid-column: 2 / 3;
  grid-row: 4 / 5;
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__annotation p,
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__annotation span {
  margin: 0;
  color: rgba(244,243,239,0.75);
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__annotation .art-apps-module__tags {
  justify-content: flex-start;
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__annotation .art-apps-module__tag {
  border-color: rgba(255,255,255,0.16);
  color: #f4f3ef;
  background: rgba(255,255,255,0.04);
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__footer {
  grid-column: 1 / 3;
  grid-row: 5 / 6;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,0.12);
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__notes {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__notes p {
  margin: 0;
  max-width: 860px;
  font-size: 13px;
  line-height: 1.38;
  color: rgba(244,243,239,0.78);
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__poster-loading {
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 100%;
  min-height: 760px;
  padding: 18px;
  border: 1px solid rgba(255,255,255,0.12);
  background: #050607;
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__poster-loading p {
  margin: 0;
  color: var(--art-app-muted);
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__poster-loading-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__poster-loading-grid span {
  display: block;
  min-height: 160px;
  border: 1px solid rgba(255,255,255,0.12);
  background: linear-gradient(90deg, rgba(255,255,255,0.03), rgba(152,255,74,0.12), rgba(255,255,255,0.03));
  background-size: 220% 100%;
  animation: art-apps-flora-shimmer 1.3s linear infinite;
}

/* ─── 15. FACEIDOLS / PATENT TOTEM SHEETS ─── */
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] {
  background: #040506;
  color: #f4f3ef;
}
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .whitemask {
  background: #040506;
}
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] nav {
  background: rgba(4, 5, 6, 0.92);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] #menu-colophon a,
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .link-home a,
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-nav-current a,
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] #titre a,
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] #sous-titre span {
  color: #f4f3ef;
}
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .header-cart img {
  filter: invert(1);
}
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-project-head,
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-project-notes,
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-related--panel,
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-notes-panel,
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-notes-panel__body {
  border-color: rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.02);
}
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-module {
  --art-app-line: rgba(255,255,255,0.1);
  --art-app-line-strong: rgba(152,255,74,0.48);
  --art-app-ink: #f5f4f0;
  --art-app-muted: rgba(245,244,240,0.68);
  --art-app-subtle: rgba(245,244,240,0.46);
  color: var(--art-app-ink);
  background: rgba(255,255,255,0.02);
}
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-project-intro,
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-project-meta,
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-inline-meta,
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-module__summaryline,
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-module__eyebrow,
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-notes-panel__body,
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-module__about-section-body,
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-related--panel,
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-related-link {
  color: var(--art-app-muted);
}
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-project-head h1,
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-module__header h2,
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-notes-panel summary,
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-backlink a {
  color: #f5f4f0;
}
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-module__button {
  border-color: rgba(255,255,255,0.18);
  color: var(--art-app-ink);
  background: rgba(255,255,255,0.03);
}
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-module__button:hover {
  border-color: rgba(152,255,74,0.48);
  color: #98ff4a;
}
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-chip,
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-inline-meta {
  border-color: rgba(255,255,255,0.14);
  color: #f4f3ef;
  background: rgba(255,255,255,0.03);
}
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid var(--art-app-line);
  background:
    radial-gradient(circle at top left, rgba(255,255,255,0.04), transparent 24%),
    radial-gradient(circle at bottom right, rgba(152,255,74,0.05), transparent 20%),
    #030405;
}
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__toolbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--art-app-line);
}
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__controls {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__stage {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 16px;
}
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__stage .art-apps-signal-panel {
  margin: 0 0 12px;
  border-color: rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.02);
}
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__stage .art-apps-archive {
  display: none;
}
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__poster-shell {
  display: flex;
  flex: 1 1 auto;
  min-height: 0;
}
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-module__result--poster {
  width: 100%;
  padding: 0;
  border: none;
  background: transparent;
  box-shadow: none;
}
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__sheet {
  width: 100%;
  min-height: 1120px;
  border: 1px solid rgba(255,255,255,0.12);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0)),
    #040506;
}
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__frame {
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(320px, 0.94fr);
  grid-template-rows: auto auto 1fr auto;
  gap: 22px 26px;
  min-height: 1120px;
  padding: 26px;
}
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__micro {
  font-family: "Roboto Mono", monospace;
  font-size: 9px;
  line-height: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(244,243,239,0.56);
}
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__micro--top-left {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
}
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__micro--top-right {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
  justify-self: end;
  color: #98ff4a;
}
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__mask-shell {
  grid-column: 1 / 2;
  grid-row: 2 / 5;
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 780px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,0.1);
  background: rgba(255,255,255,0.02);
}
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__mask-svg {
  width: 100%;
  height: auto;
  margin: auto;
}
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__copy {
  grid-column: 2 / 3;
  grid-row: 2 / 3;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__ritual-name {
  margin: 0;
  font-family: "TwoMontrouge", Helvetica, sans-serif;
  font-size: clamp(38px, 4.4vw, 72px);
  line-height: 0.94;
  letter-spacing: -0.05em;
  text-transform: uppercase;
  color: #f6f5f1;
}
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__meta-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__meta-grid div {
  padding-top: 10px;
  border-top: 1px solid rgba(255,255,255,0.1);
}
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__meta-grid span {
  display: block;
  margin-bottom: 6px;
  font-family: "Roboto Mono", monospace;
  font-size: 10px;
  line-height: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(244,243,239,0.58);
}
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__meta-grid p {
  margin: 0;
  color: rgba(244,243,239,0.88);
}
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__annotation {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__annotation--left {
  grid-column: 2 / 3;
  grid-row: 3 / 4;
}
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__annotation--right {
  grid-column: 2 / 3;
  grid-row: 4 / 5;
}
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__annotation-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__annotation-list li,
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__annotation p,
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__annotation span {
  margin: 0;
  color: rgba(244,243,239,0.76);
}
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__annotation .art-apps-module__tags {
  justify-content: flex-start;
}
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__annotation .art-apps-module__tag {
  border-color: rgba(255,255,255,0.16);
  color: #f4f3ef;
  background: rgba(255,255,255,0.04);
}
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__footer {
  grid-column: 2 / 3;
  grid-row: 5 / 6;
  align-self: end;
  width: 100%;
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,0.12);
}
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__copyright {
  font-family: "Roboto Mono", monospace;
  font-size: 9px;
  line-height: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(244,243,239,0.58);
}
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__poster-loading {
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 100%;
  min-height: 760px;
  padding: 18px;
  border: 1px solid rgba(255,255,255,0.12);
  background: #040506;
}
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__poster-loading p {
  margin: 0;
  color: var(--art-app-muted);
}
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__poster-loading-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__poster-loading-grid span {
  display: block;
  min-height: 160px;
  border: 1px solid rgba(255,255,255,0.12);
  background: linear-gradient(90deg, rgba(255,255,255,0.03), rgba(152,255,74,0.08), rgba(255,255,255,0.03));
  background-size: 220% 100%;
  animation: art-apps-flora-shimmer 1.3s linear infinite;
}

/* ─── 15. SYNTAX OF INTIMACY DIAGRAM ENGINE ───
   Concept : console analytique sombre / diagrammes relationnels D3 / source live GDELT
*/
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] {
  --art-app-bg: #020304;
  --art-app-ink: #eef2ed;
  --art-app-line: rgba(255, 255, 255, 0.12);
  --art-app-acid: #98ff4a;
  --art-app-soft: #06080a;
  --art-app-muted: rgba(238, 242, 237, 0.68);
  background: #010203;
  color: var(--art-app-ink);
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .whitemask {
  display: none;
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] nav {
  background: #010203;
  color: var(--art-app-ink);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] #menu-colophon a,
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .link-home a,
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-nav-current a,
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] #titre a,
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] #sous-titre span {
  color: var(--art-app-ink);
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .header-cart img {
  filter: invert(1);
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-project-page,
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-project-head,
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-project-notes,
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-related--panel,
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-notes-panel,
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-notes-panel__body {
  background: #030405;
  color: var(--art-app-ink);
  border-color: var(--art-app-line);
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-project-head h1,
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-module__header h2,
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-backlink a,
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-notes-panel summary {
  color: var(--art-app-ink);
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-project-intro,
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-project-meta,
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-inline-meta,
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-module__summaryline,
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-module__eyebrow,
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-notes-panel__body,
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-related-link,
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-related-link span {
  color: var(--art-app-muted);
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-module {
  --art-app-bg: #020304;
  --art-app-ink: #eef2ed;
  --art-app-line: rgba(255, 255, 255, 0.12);
  --art-app-muted: rgba(238, 242, 237, 0.68);
  --art-app-soft: #06080a;
  --art-app-card: rgba(255, 255, 255, 0.03);
  --art-app-button-bg: rgba(255, 255, 255, 0.035);
  --art-app-button-ink: #eef2ed;
  --art-app-button-hover-bg: rgba(152, 255, 74, 0.1);
  --art-app-button-hover-ink: #eef2ed;
  --art-app-chip-bg: rgba(255, 255, 255, 0.03);
  --art-app-chip-ink: #eef2ed;
  --art-app-chip-line: rgba(255, 255, 255, 0.15);
  background: transparent;
  border: none;
  color: var(--art-app-ink);
  padding: 0;
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-module__header p,
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-module__block-head p,
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-module__guide-head p,
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-module__preset--card span,
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-module__status,
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-module__preview-domain,
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-module__preview-source,
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-module__preview-excerpt,
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-module__source span,
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-module__source em,
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-module__term,
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-module__field label {
  color: var(--art-app-muted) !important;
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-module__preview-title,
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-module__source strong,
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-module__field input,
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-module__field textarea,
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-module__field select,
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-module__value span {
  color: var(--art-app-ink) !important;
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-module__button {
  background: rgba(255, 255, 255, 0.035);
  border-color: rgba(255, 255, 255, 0.16);
  color: var(--art-app-ink);
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-module__button:hover {
  background: rgba(152, 255, 74, 0.1);
  border-color: rgba(152, 255, 74, 0.34);
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-chip,
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-inline-meta {
  border-color: rgba(255, 255, 255, 0.16);
  color: var(--art-app-ink);
  background: rgba(255, 255, 255, 0.03);
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid var(--art-app-line);
  background:
    radial-gradient(circle at top left, rgba(152, 255, 74, 0.05), transparent 22%),
    radial-gradient(circle at bottom right, rgba(245, 212, 221, 0.05), transparent 26%),
    #020304;
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__toolbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--art-app-line);
  background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0) 100%);
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__controls {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__query-wrap {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: min(340px, 100%);
  color: var(--art-app-muted);
  font-size: 10px;
  line-height: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__query-wrap input {
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(6, 8, 10, 0.98);
  color: var(--art-app-ink);
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__body {
  display: grid;
  grid-template-columns: minmax(280px, 0.34fr) minmax(0, 1fr);
  min-height: 74vh;
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__feed {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 16px;
  border-right: 1px solid var(--art-app-line);
  background: rgba(255,255,255,0.02);
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__feed-head {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__feed-head p {
  margin: 0;
  color: var(--art-app-muted);
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__stage {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 16px;
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__stage .art-apps-signal-panel {
  margin: 0 0 12px;
  border-color: rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.02);
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__stage .art-apps-archive {
  display: none;
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__stage-shell {
  display: flex;
  flex: 1 1 auto;
  min-height: 0;
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-module__result--poster {
  width: 100%;
  padding: 0;
  border: none;
  background: transparent;
  box-shadow: none;
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__sheet {
  width: 100%;
  min-height: 1120px;
  border: 1px solid rgba(255,255,255,0.12);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0)),
    #040608;
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__frame {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr);
  grid-template-rows: auto auto minmax(260px, 1fr) auto auto auto;
  gap: 18px 24px;
  min-height: 1120px;
  padding: 24px;
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__micro {
  font-family: "Roboto Mono", monospace;
  font-size: 9px;
  line-height: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(238,242,237,0.56);
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__micro--left {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__micro--right {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
  justify-self: end;
  color: var(--art-app-acid);
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__title-block {
  grid-column: 1 / 3;
  grid-row: 2 / 3;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__title {
  margin: 0;
  font-family: "TwoMontrouge", Helvetica, sans-serif;
  font-size: clamp(40px, 4.8vw, 74px);
  line-height: 0.92;
  letter-spacing: -0.05em;
  text-transform: uppercase;
  color: #f4f3ef;
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__subtitle {
  margin: 0;
  max-width: 760px;
  color: rgba(238,242,237,0.82);
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__diagram-shell {
  grid-column: 1 / 2;
  grid-row: 3 / 7;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,0.1);
  background:
    radial-gradient(circle at center, rgba(152,255,74,0.05), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0)),
    rgba(255,255,255,0.02);
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__diagram-canvas {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1 1 auto;
  min-height: 720px;
  overflow: hidden;
  background:
    linear-gradient(0deg, rgba(255,255,255,0.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.02) 1px, transparent 1px);
  background-size: 28px 28px;
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__diagram-svg,
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__fallback-svg {
  width: 100%;
  height: auto;
  display: block;
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__center-label,
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__concept-label,
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__concept-score,
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__center-sub,
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__satellite-label {
  font-family: "Roboto Mono", monospace;
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__center-label {
  fill: #f4f3ef;
  font-size: 28px;
  letter-spacing: 0.08em;
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__center-sub {
  fill: #98ff4a;
  font-size: 10px;
  letter-spacing: 0.14em;
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__concept-label {
  fill: #edf4ef;
  font-size: 10px;
  letter-spacing: 0.08em;
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__concept-score {
  fill: #98ff4a;
  font-size: 11px;
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__satellite-label {
  fill: rgba(238,242,237,0.56);
  font-size: 9px;
  letter-spacing: 0.08em;
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__panel,
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__annotation {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,0.1);
  background: rgba(255,255,255,0.02);
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__panel--legend {
  grid-column: 2 / 3;
  grid-row: 3 / 4;
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__panel--protocol {
  grid-column: 2 / 3;
  grid-row: 4 / 5;
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__annotation--source {
  grid-column: 2 / 3;
  grid-row: 5 / 6;
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__annotation--lexicon {
  grid-column: 2 / 3;
  grid-row: 6 / 7;
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__panel p,
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__annotation p,
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__annotation span {
  margin: 0;
  color: rgba(238,242,237,0.82);
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__legend-list {
  display: grid;
  gap: 10px;
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__legend-row {
  display: grid;
  gap: 8px;
  padding-top: 10px;
  border-top: 1px solid rgba(255,255,255,0.08);
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__legend-row:first-child {
  padding-top: 0;
  border-top: none;
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__legend-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__legend-head span {
  color: #f4f3ef;
  font-size: 12px;
  line-height: 14px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__legend-head strong {
  font-family: "Roboto Mono", monospace;
  color: var(--art-app-acid);
  font-size: 13px;
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__legend-bar {
  position: relative;
  height: 8px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.04);
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__legend-bar span {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, #98ff4a, #f5d4dd);
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__loading {
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 100%;
  min-height: 760px;
  padding: 18px;
  border: 1px solid rgba(255,255,255,0.12);
  background: #040608;
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__loading p {
  margin: 0;
  color: var(--art-app-muted);
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__loading-grid {
  display: grid;
  gap: 10px;
}
body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__loading-grid span {
  display: block;
  min-height: 140px;
  border: 1px solid rgba(255,255,255,0.12);
  background: linear-gradient(90deg, rgba(255,255,255,0.03), rgba(152,255,74,0.08), rgba(255,255,255,0.03));
  background-size: 220% 100%;
  animation: art-apps-flora-shimmer 1.3s linear infinite;
}

/* ─── Responsive global — 2 col → 1 col ─── */
@media (max-width: 899px) {
  body.apps-page[data-app-slug="brand-mutation-generator"] .art-apps-module__workspace,
  body.apps-page[data-app-slug="emotion-as-a-service"] .art-apps-module__workspace,
  body.apps-page[data-app-slug="desire-interface"] .art-apps-module__workspace,
  body.apps-page[data-app-slug="glossary-of-hybrid-futures"] .art-apps-module__workspace,
  body.apps-page[data-app-slug="translator-of-technological-news-into-human-consequences"] .art-apps-module__workspace,
  body.apps-page[data-app-slug="corporate-confession-generator"] .art-apps-module__workspace {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  body.apps-page[data-app-slug="brand-mutation-generator"] .art-apps-module__controlpane,
  body.apps-page[data-app-slug="desire-interface"] .art-apps-module__controlpane,
  body.apps-page[data-app-slug="glossary-of-hybrid-futures"] .art-apps-module__controlpane,
  body.apps-page[data-app-slug="translator-of-technological-news-into-human-consequences"] .art-apps-module__controlpane,
  body.apps-page[data-app-slug="corporate-confession-generator"] .art-apps-module__controlpane {
    border-right: none;
    border-bottom: 1px solid var(--art-app-line);
  }
  body.apps-page[data-app-slug="emotion-as-a-service"] .art-apps-module__tier-grid {
    grid-template-columns: 1fr !important;
  }
  body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__map-shell {
    min-height: auto;
    border-right: none;
    border-bottom: 1px solid var(--art-app-line);
  }
  body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__map {
    min-height: 420px;
  }
  body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__panel {
    min-height: auto;
  }
  body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__panel-head,
  body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__map-toolbar,
  body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__analysis,
  body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__list-grid {
    grid-template-columns: 1fr;
  }
  body.apps-page[data-app-slug="flora-cache-atlas"] .art-apps-flora__panel-head {
    flex-direction: column;
  }
  body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__toolbar,
  body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__panel-head {
    flex-direction: column;
    align-items: flex-start;
  }
  body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__actions,
  body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__profile-meta,
  body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__metrics {
    width: 100%;
    grid-template-columns: 1fr;
  }
  body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__layout {
    grid-template-columns: 1fr;
  }
  body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__main {
    border-right: none;
    border-bottom: 1px solid var(--art-app-line);
  }
  body.apps-page[data-app-slug="recurrence-garden"] .art-apps-recurrence__heatmap-shell {
    min-height: 360px;
  }
  body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__toolbar,
  body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__panel-head {
    flex-direction: column;
    align-items: flex-start;
  }
  body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__controls {
    width: 100%;
    justify-content: flex-start;
  }
  body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__select-wrap {
    width: 100%;
  }
  body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__layout {
    grid-template-columns: 1fr;
  }
  body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__main {
    border-right: none;
    border-bottom: 1px solid var(--art-app-line);
  }
  body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__chart-shell {
    min-height: 400px;
  }
  body.apps-page[data-app-slug="cooling-flora-index"] .art-apps-cooling__score-card {
    grid-template-columns: 1fr;
    align-items: start;
  }
  body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__toolbar {
    flex-direction: column;
    align-items: flex-start;
  }
  body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__controls,
  body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__body,
  body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__poster-frame {
    grid-template-columns: 1fr;
  }
  body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__controls {
    width: 100%;
    justify-content: flex-start;
  }
  body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__query-wrap {
    width: 100%;
  }
  body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__feed {
    border-right: none;
    border-bottom: 1px solid var(--art-app-line);
  }
  body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__poster-card {
    min-height: 860px;
  }
  body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__title-block,
  body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__poem,
  body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__annotation--left,
  body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__annotation--right {
    grid-column: 1 / 2;
    justify-self: stretch;
  }
  body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__poem {
    grid-row: auto;
    align-self: start;
  }
  body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__micro--top-right,
  body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__micro--mid-right {
    justify-self: start;
    text-align: left;
    margin-top: 0;
  }
  body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__footer {
    position: static;
    margin-top: auto;
    padding-top: 14px;
  }
  body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__toolbar {
    flex-direction: column;
    align-items: flex-start;
  }
  body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__controls,
  body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__body,
  body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__poster-frame {
    grid-template-columns: 1fr;
  }
  body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__controls {
    width: 100%;
    justify-content: flex-start;
  }
  body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__query-wrap {
    width: 100%;
    min-width: 0;
  }
  body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__feed {
    border-right: none;
    border-bottom: 1px solid var(--art-app-line);
  }
  body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__poster-card {
    min-height: 860px;
  }
  body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__title-block,
  body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__statement,
  body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__annotation--left,
  body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__annotation--right {
    grid-column: 1 / 2;
    justify-self: stretch;
  }
  body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__title-block {
    grid-row: 2 / 3;
    padding-top: 46px;
  }
  body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__statement {
    grid-row: 3 / 4;
    align-self: start;
  }
  body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__annotation--left {
    grid-row: 4 / 5;
  }
  body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__annotation--right {
    grid-row: 5 / 6;
  }
  body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__micro--top-right,
  body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__micro--mid-right {
    justify-self: start;
    text-align: left;
    margin-top: 0;
  }
  body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__footer {
    position: static;
    margin-top: auto;
    grid-template-columns: 1fr;
    padding-top: 14px;
  }
  body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__toolbar {
    flex-direction: column;
    align-items: flex-start;
  }
  body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__controls,
  body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__body,
  body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__frame {
    grid-template-columns: 1fr;
  }
  body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__controls {
    width: 100%;
    justify-content: flex-start;
  }
  body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__query-wrap {
    width: 100%;
    min-width: 0;
  }
  body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__feed {
    border-right: none;
    border-bottom: 1px solid var(--art-app-line);
  }
  body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__poster-card {
    min-height: 860px;
  }
  body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__logo-shell,
  body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__copy,
  body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__annotation--left,
  body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__annotation--right,
  body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__footer {
    grid-column: 1 / 2;
    justify-self: stretch;
  }
  body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__logo-shell {
    grid-row: 2 / 3;
    min-height: 340px;
  }
  body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__copy {
    grid-row: 3 / 4;
  }
  body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__annotation--left {
    grid-row: 4 / 5;
  }
  body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__annotation--right {
    grid-row: 5 / 6;
  }
  body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__footer {
    grid-row: 6 / 7;
  }
  body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__micro--top-right {
    justify-self: start;
    text-align: left;
  }
  body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__copyright {
    text-align: left;
  }
  body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__toolbar {
    flex-direction: column;
    align-items: flex-start;
  }
  body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__controls,
  body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__body,
  body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__frame,
  body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__meta-grid {
    grid-template-columns: 1fr;
  }
  body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__controls {
    width: 100%;
    justify-content: flex-start;
  }
  body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__query-wrap {
    width: 100%;
    min-width: 0;
  }
  body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__feed {
    border-right: none;
    border-bottom: 1px solid var(--art-app-line);
  }
  body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__card {
    min-height: 860px;
  }
  body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__silhouette-shell,
  body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__registry-copy,
  body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__diagram-shell,
  body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__annotation--left,
  body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__annotation--right,
  body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__footer {
    grid-column: 1 / 2;
    justify-self: stretch;
  }
  body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__silhouette-shell {
    grid-row: 2 / 3;
    min-height: 300px;
  }
  body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__registry-copy {
    grid-row: 3 / 4;
  }
  body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__diagram-shell {
    grid-row: 4 / 5;
  }
  body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__annotation--left {
    grid-row: 5 / 6;
  }
  body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__annotation--right {
    grid-row: 6 / 7;
  }
  body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__footer {
    grid-row: 7 / 8;
  }
  body.apps-page[data-app-slug="mecafantasma-registry"] .art-apps-mecafantasma__micro--top-right {
    justify-self: start;
    text-align: left;
  }
  body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__toolbar {
    flex-direction: column;
    align-items: flex-start;
  }
  body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__controls,
  body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__frame {
    grid-template-columns: 1fr;
  }
  body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__controls {
    width: 100%;
    justify-content: flex-start;
  }
  body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__sheet {
    min-height: 920px;
  }
  body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__mask-shell,
  body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__copy,
  body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__annotation--left,
  body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__annotation--right,
  body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__footer {
    grid-column: 1 / 2;
    justify-self: stretch;
  }
  body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__mask-shell {
    grid-row: 2 / 3;
    min-height: 420px;
  }
  body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__copy {
    grid-row: 3 / 4;
  }
  body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__annotation--left {
    grid-row: 4 / 5;
  }
  body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__annotation--right {
    grid-row: 5 / 6;
  }
  body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__footer {
    grid-row: 6 / 7;
  }
  body.apps-page[data-app-slug="faceidols-patent-totem-sheets"] .art-apps-faceidols__micro--top-right {
    justify-self: start;
    text-align: left;
  }
  body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__toolbar {
    flex-direction: column;
    align-items: flex-start;
  }
  body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__metrics,
  body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__loading-grid,
  body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__grid,
  body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__sheet-grid,
  body.apps-page[data-app-slug="server-bloom-sheets"] .art-apps-bloom__diagram-composite {
    grid-template-columns: 1fr;
  }
  body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__toolbar {
    flex-direction: column;
    align-items: flex-start;
  }
  body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__controls {
    width: 100%;
    justify-content: flex-start;
  }
  body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__query-wrap {
    width: 100%;
    min-width: 0;
  }
  body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__body,
  body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__frame {
    grid-template-columns: 1fr;
  }
  body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__body {
    min-height: auto;
  }
  body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__feed {
    border-right: none;
    border-bottom: 1px solid var(--art-app-line);
  }
  body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__sheet {
    min-height: auto;
  }
  body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__frame {
    min-height: auto;
  }
  body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__micro--left,
  body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__micro--right,
  body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__title-block,
  body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__diagram-shell,
  body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__panel--legend,
  body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__panel--protocol,
  body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__annotation--source,
  body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__annotation--lexicon {
    grid-column: 1 / 2;
    justify-self: stretch;
  }
  body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__micro--left {
    grid-row: 1 / 2;
  }
  body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__micro--right {
    grid-row: 2 / 3;
    justify-self: start;
    text-align: left;
  }
  body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__title-block {
    grid-row: 3 / 4;
  }
  body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__diagram-shell {
    grid-row: 4 / 5;
  }
  body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__panel--legend {
    grid-row: 5 / 6;
  }
  body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__panel--protocol {
    grid-row: 6 / 7;
  }
  body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__annotation--source {
    grid-row: 7 / 8;
  }
  body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__annotation--lexicon {
    grid-row: 8 / 9;
  }
  body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__diagram-canvas,
  body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__loading {
    min-height: 420px;
  }
  body.apps-page[data-app-slug="syntax-of-intimacy-diagram-engine"] .art-apps-syntax__title {
    font-size: clamp(30px, 13vw, 56px);
  }
}

@media print {
  body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] nav,
  body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .desktop-floating-cta,
  body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .mobile-floating-cta,
  body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-project-notes,
  body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__toolbar,
  body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__feed,
  body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-signal-panel {
    display: none !important;
  }
  body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-root,
  body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-shell,
  body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-shell--project,
  body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-project-page,
  body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-project-main,
  body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake,
  body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__body,
  body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__poster-stage,
  body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__poster-shell,
  body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-module__result--poster {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
  }
  body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__poster-card {
    min-height: 100vh;
    border: none;
    page-break-inside: avoid;
  }
}

/* ════════════════════════════════════════════════════════════
   SERIES UPGRADE — CONTEXT, ARCHIVE, EXPORT, POSTER RESTRAINT
   Added as a late override layer to avoid rewriting the whole file.
   ════════════════════════════════════════════════════════════ */

body.apps-page[data-app-page="project"] .art-apps-module__context {
  display: grid;
  gap: 12px;
  padding-top: 8px;
  border-top: 1px solid color-mix(in srgb, var(--art-app-line) 55%, transparent);
}

body.apps-page[data-app-page="project"] .art-apps-module__context-lede,
body.apps-page[data-app-page="project"] .art-apps-module__context-copy {
  margin: 0;
  max-width: 78ch;
}

body.apps-page[data-app-page="project"] .art-apps-module__context-lede {
  font-size: 15px;
  line-height: 1.45;
  color: var(--art-app-ink);
}

body.apps-page[data-app-page="project"] .art-apps-module__context-copy {
  font-size: 12px;
  line-height: 1.6;
  color: var(--art-app-muted);
}

body.apps-page[data-app-page="project"] .art-apps-module__context-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

body.apps-page[data-app-page="project"] .art-apps-module__context-card {
  display: grid;
  gap: 6px;
  min-height: 100%;
  padding: 12px;
  border: 1px solid var(--art-app-line);
  background: color-mix(in srgb, var(--art-app-soft) 58%, var(--art-app-bg));
}

body.apps-page[data-app-page="project"] .art-apps-module__context-card p {
  margin: 0;
  font-size: 11px;
  line-height: 1.55;
  color: var(--art-app-muted);
}

body.apps-page[data-app-page="project"] .art-apps-module__context-label {
  font-size: 9px;
  line-height: 1;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--art-app-ink);
  opacity: 0.72;
}

body.apps-page[data-app-page="project"] .art-apps-module__result--fresh {
  animation: art-apps-output-fade 0.22s ease;
}

@keyframes art-apps-output-fade {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

body.apps-page[data-app-page="project"] .art-apps-archive {
  gap: 10px;
  padding: 14px 16px 16px;
  align-items: stretch;
}

body.apps-page[data-app-page="project"] .art-apps-archive__header {
  display: flex;
  flex: 0 0 auto;
  min-width: 140px;
  padding: 12px 0 12px 2px;
  flex-direction: column;
  justify-content: space-between;
  color: var(--art-app-muted);
  font-size: 9px;
  line-height: 1.4;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

body.apps-page[data-app-page="project"] .art-apps-archive__empty {
  display: grid;
  gap: 4px;
  min-width: 260px;
  padding: 12px 0;
}

body.apps-page[data-app-page="project"] .art-apps-archive__empty span {
  font-size: 9px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--art-app-muted);
}

body.apps-page[data-app-page="project"] .art-apps-archive__empty p {
  margin: 0;
  color: var(--art-app-muted);
  font-size: 11px;
  line-height: 1.5;
}

body.apps-page[data-app-page="project"] .art-apps-archive__item {
  width: 240px;
  min-width: 240px;
  border-radius: 0;
  background: color-mix(in srgb, var(--art-app-soft) 42%, var(--art-app-bg));
  opacity: 1;
  cursor: pointer;
  text-align: left;
}

body.apps-page[data-app-page="project"] .art-apps-archive__item:hover {
  opacity: 1;
  border-color: var(--art-app-ink);
  transform: translateY(-1px);
}

body.apps-page[data-app-page="project"] .art-apps-archive__item.is-current {
  border-color: color-mix(in srgb, var(--art-app-line-strong) 72%, var(--art-app-ink));
  background: color-mix(in srgb, var(--art-app-soft) 54%, var(--art-app-bg));
}

body.apps-page[data-app-page="project"] .art-apps-archive__title {
  display: block;
  font-size: 12px;
  line-height: 1.3;
  color: var(--art-app-ink);
}

body.apps-page[data-app-page="project"] .art-apps-archive__meta {
  display: block;
  color: var(--art-app-muted);
  font-size: 9px;
  line-height: 1.4;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

body.apps-page[data-app-page="project"] .art-apps-archive__summary {
  margin: 2px 0 0;
  color: var(--art-app-muted);
  font-size: 10px;
  line-height: 1.5;
}

body.apps-page[data-app-page="project"] .art-apps-archive__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
}

body.apps-page[data-app-page="project"] .art-apps-archive__tag {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 0 7px;
  border: 1px solid color-mix(in srgb, var(--art-app-line) 84%, transparent);
  font-size: 9px;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--art-app-subtle);
}

/* ── Archive vertical layout for brand-mutation-generator ───────────────── */

body.apps-page[data-app-slug="brand-mutation-generator"] .art-apps-archive {
  flex-direction: column;
  overflow-x: visible;
  overflow-y: visible;
  gap: 0;
  padding: 0;
  border-top: 0;
}

/* ── Archive accordion (new structure) ───────────────────────────────────── */

body.apps-page[data-app-page="project"] .art-apps-archive__count {
  font-size: 9px;
  letter-spacing: 0.1em;
  color: var(--art-app-muted);
}

body.apps-page[data-app-page="project"] .art-apps-archive__list {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
  overflow-y: auto;
  max-height: 480px;
}

body.apps-page[data-app-page="project"] .art-apps-archive__entry {
  border-bottom: 1px solid color-mix(in srgb, var(--art-app-line) 48%, transparent);
}

body.apps-page[data-app-page="project"] .art-apps-archive__entry.is-current > .art-apps-archive__entry-head {
  background: color-mix(in srgb, var(--art-app-soft) 72%, var(--art-app-bg));
}

body.apps-page[data-app-page="project"] .art-apps-archive__entry-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  padding: 10px 12px;
  background: transparent;
  border: 0;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  color: var(--art-app-ink);
  transition: background 160ms ease;
}

body.apps-page[data-app-page="project"] .art-apps-archive__entry-head:hover {
  background: color-mix(in srgb, var(--art-app-soft) 52%, var(--art-app-bg));
}

body.apps-page[data-app-page="project"] .art-apps-archive__entry-arrow {
  flex-shrink: 0;
  font-size: 16px;
  line-height: 1;
  color: var(--art-app-muted);
  transform: rotate(0deg);
  transition: transform 220ms ease;
}

body.apps-page[data-app-page="project"] .art-apps-archive__entry.is-open .art-apps-archive__entry-arrow {
  transform: rotate(90deg);
}

body.apps-page[data-app-page="project"] .art-apps-archive__entry-body {
  display: none;
  flex-direction: column;
  gap: 6px;
  padding: 0 12px 12px;
}

body.apps-page[data-app-page="project"] .art-apps-archive__entry.is-open .art-apps-archive__entry-body {
  display: flex;
}

body.apps-page[data-app-page="project"] .art-apps-archive__restore {
  align-self: flex-start;
  margin-top: 4px;
  padding: 5px 10px;
  background: transparent;
  border: 1px solid color-mix(in srgb, var(--art-app-line) 72%, transparent);
  font-family: inherit;
  font-size: 9px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--art-app-ink);
  cursor: pointer;
  transition: background 160ms ease, color 160ms ease;
}

body.apps-page[data-app-page="project"] .art-apps-archive__restore:hover {
  background: var(--art-app-ink);
  color: var(--art-app-bg);
}

.art-apps-poster-overlay {
  background: rgba(4, 4, 7, 0.92);
}

.art-apps-poster-overlay__viewport {
  width: min(1120px, calc(100vw - 40px));
  min-height: calc(100vh - 80px);
  display: flex;
  align-items: center;
  justify-content: center;
}

.art-apps-poster-overlay__body {
  width: 100%;
}

.art-apps-poster-overlay__body .art-apps-module__result {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

.art-apps-poster-overlay__body .art-apps-handshake__poster-card,
.art-apps-poster-overlay__body .art-apps-emancipation__poster-card,
.art-apps-poster-overlay__body .art-apps-logo-desire__poster-card {
  min-height: min(88vh, 1180px);
}

body.apps-page[data-app-page="project"] .art-apps-brand-sheet,
body.apps-page[data-app-page="project"] .art-apps-confession-sheet {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--art-app-line);
  background: color-mix(in srgb, var(--art-app-bg) 88%, var(--art-app-soft));
}

body.apps-page[data-app-page="project"] .art-apps-brand-sheet__micro,
body.apps-page[data-app-page="project"] .art-apps-confession-sheet__micro {
  font-size: 9px;
  line-height: 1;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--art-app-muted);
}

body.apps-page[data-app-page="project"] .art-apps-brand-sheet__signal {
  display: grid;
  gap: 6px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--art-app-line);
}

body.apps-page[data-app-page="project"] .art-apps-brand-sheet__signal span,
body.apps-page[data-app-page="project"] .art-apps-brand-sheet__grid span {
  font-size: 9px;
  line-height: 1;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--art-app-muted);
}

body.apps-page[data-app-page="project"] .art-apps-brand-sheet__signal p,
body.apps-page[data-app-page="project"] .art-apps-brand-sheet__grid p {
  margin: 0;
  font-size: 12px;
  line-height: 1.55;
  color: var(--art-app-ink);
}

body.apps-page[data-app-page="project"] .art-apps-brand-sheet__title {
  margin: 0;
  font-family: "TwoMontrouge", Helvetica, sans-serif !important;
  font-size: clamp(34px, 6vw, 82px) !important;
  line-height: 0.9 !important;
  letter-spacing: -0.05em !important;
}

body.apps-page[data-app-page="project"] .art-apps-brand-sheet__slogan {
  margin: 0;
  max-width: 28ch;
  font-size: clamp(18px, 2.1vw, 28px);
  line-height: 1.1;
  color: var(--art-app-muted);
}

body.apps-page[data-app-page="project"] .art-apps-brand-sheet__tags .art-apps-module__tags {
  justify-content: flex-start;
}

body.apps-page[data-app-page="project"] .art-apps-brand-sheet__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

body.apps-page[data-app-page="project"] .art-apps-brand-sheet__grid > div {
  display: grid;
  gap: 8px;
  min-height: 100%;
  padding-top: 10px;
  border-top: 1px solid color-mix(in srgb, var(--art-app-line) 62%, transparent);
}

/* ── Brand Poster — typewriter keyframe ─────────────────────────────────── */

@keyframes poster-char-in {
  from { opacity: 0; transform: translateY(4px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── Brand Poster — portrait, TwoMontrouge ─────────────────────────────── */

body.apps-page[data-app-page="project"] .art-apps-brand-poster {
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr auto auto;
  width: min(340px, 100%);
  min-height: clamp(480px, 72vw, 640px);
  margin: 0 auto;
  padding: 0;
  overflow: hidden;
  background: #0a0a0a;
  color: #fff;
  font-family: "TwoMontrouge", Helvetica, sans-serif;
}

/* Watermark layer */
body.apps-page[data-app-page="project"] .art-apps-brand-poster__wm {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  overflow: hidden;
  mix-blend-mode: overlay;
  pointer-events: none;
  user-select: none;
}

body.apps-page[data-app-page="project"] .art-apps-brand-poster__wm span {
  display: block;
  width: 220%;
  white-space: nowrap;
  font-size: clamp(9px, 1vw, 13px);
  font-family: "TwoMontrouge", Helvetica, sans-serif;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  line-height: 2.4;
  color: rgba(255, 255, 255, 0.14);
  transform: rotate(-18deg) translateY(-6%);
  transform-origin: center center;
  word-spacing: 0.4em;
}

/* Geometric SVG overlay in difference blend */
body.apps-page[data-app-page="project"] .art-apps-brand-poster__geo {
  position: absolute;
  inset: 0;
  z-index: 2;
  mix-blend-mode: difference;
  pointer-events: none;
}

body.apps-page[data-app-page="project"] .art-apps-brand-poster__geo svg {
  display: block;
  width: 100%;
  height: 100%;
}

/* Top metadata bar */
body.apps-page[data-app-page="project"] .art-apps-brand-poster__top {
  position: relative;
  z-index: 3;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: clamp(16px, 4vw, 26px) clamp(18px, 5vw, 28px) 0;
}

/* Central brand name block */
body.apps-page[data-app-page="project"] .art-apps-brand-poster__center {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  padding: 0 clamp(18px, 5vw, 28px);
}

body.apps-page[data-app-page="project"] .art-apps-brand-poster__eyebrow {
  margin: 0;
  font-size: 9px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.38);
  font-family: "TwoMontrouge", Helvetica, sans-serif;
}

body.apps-page[data-app-page="project"] .art-apps-brand-poster__name {
  margin: 0;
  font-family: "TwoMontrouge", Helvetica, sans-serif;
  font-size: clamp(52px, 14vw, 86px);
  font-weight: 700;
  line-height: 0.86;
  letter-spacing: -0.04em;
  text-transform: uppercase;
  color: #fff;
  word-break: break-word;
  hyphens: auto;
}

body.apps-page[data-app-page="project"] .art-apps-brand-poster__rights {
  display: inline-block;
  font-size: 0.32em;
  vertical-align: super;
  letter-spacing: 0;
  opacity: 0.68;
  margin-left: 0.04em;
}

/* Slogan */
body.apps-page[data-app-page="project"] .art-apps-brand-poster__slogan {
  position: relative;
  z-index: 3;
  margin: 0;
  padding: clamp(14px, 3vw, 22px) clamp(18px, 5vw, 28px);
  font-family: "TwoMontrouge", Helvetica, sans-serif;
  font-size: clamp(12px, 2.2vw, 16px);
  font-weight: 400;
  line-height: 1.25;
  color: rgba(255, 255, 255, 0.72);
  max-width: 30ch;
}

/* Footer */
body.apps-page[data-app-page="project"] .art-apps-brand-poster__footer {
  position: relative;
  z-index: 3;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding: clamp(12px, 2.5vw, 18px) clamp(18px, 5vw, 28px);
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  font-size: 9px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.3);
  font-family: "TwoMontrouge", Helvetica, sans-serif;
}

/* ── Confession sheet ──────────────────────────────────────────────────── */

body.apps-page[data-app-page="project"] .art-apps-confession-sheet__title {
  margin: 0;
  font-size: clamp(28px, 4.2vw, 54px) !important;
  line-height: 0.95 !important;
  letter-spacing: -0.04em !important;
}

body.apps-page[data-app-page="project"] .art-apps-confession-sheet__subject,
body.apps-page[data-app-page="project"] .art-apps-confession-sheet__statement {
  margin: 0;
}

body.apps-page[data-app-page="project"] .art-apps-confession-sheet__subject {
  color: var(--art-app-muted);
  font-size: 12px;
  line-height: 1.5;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

body.apps-page[data-app-page="project"] .art-apps-confession-sheet__statement {
  max-width: 62ch;
  font-size: 15px;
  line-height: 1.6;
  color: var(--art-app-ink);
}

body.apps-page[data-app-page="project"] .art-apps-confession-sheet .art-apps-module__statements {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.apps-page[data-app-page="project"] .art-apps-confession-sheet .art-apps-module__statement-block {
  margin: 0;
  min-height: 100%;
  padding: 12px;
  border: 1px solid color-mix(in srgb, var(--art-app-line) 72%, transparent);
  background: color-mix(in srgb, var(--art-app-soft) 58%, var(--art-app-bg));
}

body.apps-page[data-app-page="project"] .art-apps-confession-sheet__letter {
  margin: 0;
  padding-top: 14px;
  border-top: 1px solid var(--art-app-line);
  white-space: pre-wrap;
  font-size: 11px;
  line-height: 1.75;
  color: var(--art-app-muted);
}

body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__slogan,
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__statement p,
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__slogan,
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__meta-grid p {
  text-wrap: pretty;
}

body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__title,
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__title,
body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__brand {
  text-wrap: balance;
}

body.apps-page[data-app-slug="forbidden-handshake-poster-generator"] .art-apps-handshake__annotation-note,
body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__annotation-note {
  margin: 0;
  max-width: 28ch;
  font-size: 11px;
  line-height: 1.55;
  color: rgba(244,243,239,0.6);
}

body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__clauses {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}

body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__clause {
  display: grid;
  gap: 5px;
  padding-top: 9px;
  border-top: 1px solid rgba(255,255,255,0.09);
}

body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__clause span {
  font-size: 9px;
  line-height: 1;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(152,255,74,0.82);
}

body.apps-page[data-app-slug="emancipation-protocol"] .art-apps-emancipation__clause p {
  margin: 0;
  font-size: 11px;
  line-height: 1.55;
  color: rgba(244,243,239,0.76);
}

body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__footer {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
}

body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__registration {
  font-family: "Roboto Mono", monospace;
  font-size: 9px;
  line-height: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(245,212,221,0.72);
}

@media (max-width: 1099px) {
  body.apps-page[data-app-page="project"] .art-apps-module__context-grid,
  body.apps-page[data-app-page="project"] .art-apps-brand-sheet__grid,
  body.apps-page[data-app-page="project"] .art-apps-confession-sheet .art-apps-module__statements {
    grid-template-columns: 1fr;
  }

  body.apps-page[data-app-slug="logo-of-desire"] .art-apps-logo-desire__footer {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* Index theme wayfinder */
body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav {
  position: sticky;
  top: var(--art-apps-index-floating-top, 42px);
  z-index: 24;
  width: 100%;
  margin: 0 0 6px;
  padding: 0;
  box-sizing: border-box;
  background: transparent;
}

body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav.is-floating .art-apps-index-floating-nav__inner {
  position: relative;
}

body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__inner {
  display: grid;
  gap: 8px;
  width: 100%;
  border: 1px solid rgba(0, 0, 0, 0.14);
  border-radius: 18px;
  background: #fff;
  box-shadow: none;
  padding: 8px 10px;
}

body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__copy {
  min-width: 0;
}

body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__meta {
  font-family: "Roboto", Helvetica, sans-serif;
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.62;
  white-space: nowrap;
}

body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  width: 100%;
}

body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__link {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: start;
  gap: 7px;
  min-height: 40px;
  padding: 6px 9px;
  border: 1px solid rgba(0, 0, 0, 0.18);
  border-radius: 999px;
  background: #fff;
  color: #000;
  text-decoration: none;
  font-family: "Roboto", Helvetica, sans-serif;
  font-size: 9px;
  line-height: 1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  transition: none;
  white-space: normal;
}

body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__link-kicker,
body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__link-meta {
  opacity: 0.62;
  font-size: 8px;
}

body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__link-label {
  letter-spacing: 0.015em;
}

body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__link:hover,
body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__link:focus-visible {
  background: #000;
  color: #fff;
  border-color: #000;
}

body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__link.is-current {
  background: #000;
  color: #fff;
  border-color: #000;
}

body.apps-page[data-app-page="index"] .art-apps-theme-section {
  scroll-margin-top: var(--art-apps-index-sticky-offset, 162px);
}

@media screen and (max-width: 899px) {
  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav {
    top: var(--art-apps-index-floating-top, 40px);
    margin: 0 0 6px;
    padding-bottom: 0;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav.is-floating .art-apps-index-floating-nav__inner {
    position: relative;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__inner {
    width: 100%;
    max-width: none;
    gap: 7px;
    padding: 8px 9px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__meta {
    white-space: nowrap;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__link {
    min-height: 38px;
    padding: 6px 8px;
  }

  body.apps-page[data-app-page="index"] .art-apps-theme-section {
    scroll-margin-top: var(--art-apps-index-sticky-offset, 146px);
  }
}

/* Final mobile stabilization for apps index + manifesto */
@media screen and (max-width: 899px) {
  body.apps-page[data-app-page="index"] .art-apps-root,
  body.apps-page[data-app-page="manifesto"] .art-apps-root {
    padding-top: 52px !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-banner,
  body.apps-page[data-app-page="manifesto"] #art-apps-root > .art-apps-manifesto-banner {
    width: 100%;
    margin: 0 0 18px;
    padding: 0;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-banner .art-apps-index-display-title {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0;
    font-size: clamp(34px, 11.4vw, 66px) !important;
    line-height: 0.84 !important;
    letter-spacing: -0.022em !important;
    white-space: nowrap !important;
    text-wrap: nowrap;
    overflow-wrap: normal;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-banner .art-apps-index-banner-meta {
    display: flex !important;
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    margin-top: 7px;
    align-items: center;
    position: relative;
    top: -3px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-banner .art-apps-index-banner-meta__group {
    width: auto;
    min-width: 0;
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 4px;
    justify-content: flex-start !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-banner .art-apps-index-banner-meta__group--left {
    justify-items: start;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-banner .art-apps-index-banner-meta__group--right {
    justify-content: flex-end !important;
    margin-left: auto;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-banner .art-apps-index-banner-meta .art-apps-chip,
  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-banner .art-apps-index-banner-meta .art-apps-inline-meta {
    width: fit-content;
    max-width: 100%;
    margin: 0;
    min-height: 16px;
    padding: 3px 7px 2px;
    font-size: 9px;
    letter-spacing: 0.05em;
  }

  body.apps-page[data-app-page="manifesto"] #art-apps-root > .art-apps-manifesto-banner .art-apps-manifesto-display-intro {
    max-width: none;
    margin: 2px 0 0;
    font-size: 15px;
    line-height: 1.28;
    letter-spacing: -0.012em;
  }

  body.apps-page[data-app-page="manifesto"] #art-apps-root .art-apps-shell {
    max-width: none;
  }

  body.apps-page[data-app-page="manifesto"] #art-apps-root .art-apps-manifesto-copy {
    column-count: 1;
    column-gap: 0;
    margin-top: 0;
    padding-top: 0;
  }

  body.apps-page[data-app-page="manifesto"] #art-apps-root .art-apps-section {
    margin-top: 0;
    padding-top: 0;
  }

  body.apps-page[data-app-page="manifesto"] #art-apps-root .art-apps-manifesto-copy p {
    margin: 0 0 14px;
    font-size: 15px;
    line-height: 1.42;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-copyband {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    width: 100%;
    margin: 0 0 18px;
    padding: 0;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-copyband .art-apps-index-copyblock {
    border-top: 1px solid rgba(0, 0, 0, 0.14);
    padding-top: 10px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-copyband .art-apps-index-copyblock:first-child {
    border-top: 0;
    padding-top: 0;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-copyband .art-apps-index-copyblock summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 0;
    min-height: 22px;
    cursor: pointer;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-copyband .art-apps-index-copyblock[open] summary {
    margin-bottom: 8px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-copyband .art-apps-lead,
  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-copyband .art-apps-intro {
    max-width: none;
    margin: 0;
    font-size: 15px;
    line-height: 1.26;
    letter-spacing: -0.012em;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured {
    gap: 14px;
    margin-bottom: 18px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-index-featured__head {
    display: grid;
    gap: 6px;
    padding-bottom: 10px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry--featured-conversation {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "preview"
      "body"
      "meta"
      "link" !important;
    gap: 12px !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry--featured-conversation .art-apps-entry-preview {
    grid-area: preview;
    align-items: center;
    width: 100%;
    max-width: none;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry--featured-conversation .art-apps-entry-preview-shell {
    width: min(100%, 228px);
    margin: 0 auto;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry--featured-conversation .art-apps-entry-body {
    grid-area: body;
    width: 100%;
    gap: 10px;
    padding-top: 0;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry--featured-conversation .art-apps-entry-summary {
    max-width: none;
    font-size: 15px;
    line-height: 1.34;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry--featured-conversation .art-apps-entry-meta {
    grid-area: meta;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 8px 10px;
    width: 100%;
    padding-top: 0;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry--featured-conversation .art-apps-entry-meta > * {
    min-width: 0;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry--featured-conversation .art-apps-entry-notes {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry--featured-conversation .art-apps-entry-link {
    grid-area: link;
    width: 100%;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry--featured-conversation .art-apps-entry-cta {
    width: 100%;
    min-width: 0;
    justify-content: center;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-list-section--intro {
    padding: 12px 13px 13px;
    border-radius: 16px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-list-section--intro .art-apps-list-section__columns,
  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-list-section--intro .art-apps-list-section__titleline {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-list-section--intro .art-apps-list-section__column--title h3 {
    top: 0;
    font-size: 20px;
    line-height: 0.98;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-list-section--intro .art-apps-list-section__titleline p {
    width: 100%;
    max-width: none;
    font-size: 13px;
    line-height: 1.24;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-list-section--intro .art-apps-list-section__titleline .art-apps-link--button {
    justify-self: start;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav {
    position: relative !important;
    top: auto !important;
    z-index: auto !important;
    margin: 0 0 10px;
    padding: 0;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__inner {
    gap: 6px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__head {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__link {
    min-height: 36px;
    padding: 7px 9px;
    border-radius: 14px;
  }

  body.apps-page[data-app-page="index"] .art-apps-theme-section {
    scroll-margin-top: 58px !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-theme-section {
    padding: 13px 12px;
    border-radius: 16px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-theme-head {
    grid-template-columns: 1fr;
    gap: 8px;
    padding-bottom: 10px;
    margin-bottom: 10px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-theme-count {
    justify-content: flex-start;
    font-size: 24px;
    line-height: 0.9;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-theme-copy p {
    font-size: 13px;
    line-height: 1.3;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-section-title--catalogue {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 8px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-entry {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "preview"
      "body"
      "meta"
      "link";
    gap: 12px;
    padding: 14px 0 16px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-entry-preview {
    grid-area: preview;
    max-width: none;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-entry-body {
    grid-area: body;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-entry-meta {
    grid-area: meta;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 10px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-entry-link {
    grid-area: link;
    width: 100%;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-entry-titleline {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 8px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-entry-summary {
    font-size: 14px;
    line-height: 1.38;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-entry-notes {
    gap: 8px;
    margin-top: 10px;
    padding-top: 10px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-entry-note {
    font-size: 12px;
    line-height: 1.48;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-entry-cta {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    justify-content: center;
  }
}

@media screen and (max-width: 560px) {
  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__links,
  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-entry-meta,
  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry--featured-conversation .art-apps-entry-meta {
    grid-template-columns: 1fr;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry--featured-conversation .art-apps-entry-preview-shell {
    width: min(100%, 214px);
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-live-news__label {
    display: none;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-live-news__viewport {
    padding-left: 6px;
    padding-right: 6px;
  }
}

@media screen and (max-width: 899px) {
  body.apps-page #art-apps-root article,
  body.apps-page #art-apps-root section {
    visibility: visible !important;
    opacity: 1 !important;
  }

  body.apps-page .whitemask {
    display: none !important;
  }

  body.apps-page > nav {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 10px;
    padding: 0 15px;
    overflow: visible;
  }

  body.apps-page > nav #titre {
    float: none;
    margin: 0;
    top: 0;
    height: 35px;
    min-width: 0;
    display: flex;
    align-items: center;
  }

  body.apps-page > nav #titre span,
  body.apps-page > nav #titre a {
    display: block;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body.apps-page > nav #sous-titre {
    display: none !important;
  }

  body.apps-page > nav .nav-right {
    position: static;
    float: none;
    margin: 0;
    padding: 0;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    min-width: 0;
  }

  body.apps-page > nav .link-home,
  body.apps-page > nav .link-works,
  body.apps-page > nav #menu-colophon,
  body.apps-page > nav .language,
  body.apps-page > nav .header-cart {
    position: relative;
    top: 0;
    transform: none !important;
    margin: 0;
    display: inline-flex;
    align-items: center;
    min-width: 0;
  }

  body.apps-page > nav .link-home a,
  body.apps-page > nav .link-works a,
  body.apps-page > nav #menu-colophon a {
    display: inline-flex;
    align-items: center;
    min-height: 18px;
    font-size: 13px;
    line-height: 18px;
    white-space: nowrap;
  }

  body.apps-page > nav .language {
    margin-right: 0;
    font-size: 13px;
    line-height: 18px;
  }

  body.apps-page > nav .language-dropdown-trigger {
    min-height: 18px;
    padding: 0;
    border: 0;
    background: transparent;
    font-size: 13px;
    line-height: 18px;
    letter-spacing: 0;
  }

  body.apps-page > nav .header-cart {
    width: 16px;
    justify-content: center;
  }

  body.apps-page > nav .header-cart img {
    width: 14px;
    height: 14px;
  }

  body.apps-page > nav .link-works:before {
    top: -2px;
    right: -8px;
    width: 7px;
    height: 7px;
    border-width: 1.5px;
  }

  body.apps-page > nav .link-works:after {
    top: -1px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root,
  body.apps-page[data-app-page="manifesto"] #art-apps-root {
    overflow-x: clip;
  }

  body.apps-page[data-app-page="manifesto"] .mobile-floating-cta,
  body.apps-page[data-app-page="manifesto"] .desktop-spec-engine-prefix,
  body.apps-page[data-app-page="manifesto"] .desktop-floating-cta {
    display: none !important;
  }
}

@media screen and (max-width: 640px) {
  body.apps-page #art-apps-root article,
  body.apps-page #art-apps-root section {
    visibility: visible !important;
    opacity: 1 !important;
  }

  body.apps-page > nav .nav-right {
    gap: 8px;
  }

  body.apps-page > nav #menu-colophon a {
    display: none;
  }

  body.apps-page > nav .link-home a,
  body.apps-page > nav .link-works a,
  body.apps-page > nav .language,
  body.apps-page > nav .language-dropdown-trigger {
    font-size: 12px;
    line-height: 18px;
  }
}

@media screen and (max-width: 899px) {
  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-copyband,
  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured {
    display: none !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index {
    gap: 14px !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-list-section--intro {
    margin: 0 0 4px !important;
    padding: 0 0 10px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-list-section--intro .art-apps-list-section__columns {
    gap: 0 !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-list-section--intro .art-apps-list-section__titleline {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: start;
    gap: 8px 10px !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-list-section--intro .art-apps-list-section__column--title h3 {
    font-size: 19px !important;
    line-height: 0.96 !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-list-section--intro .art-apps-list-section__titleline p {
    grid-column: 1 / -1;
    max-width: none !important;
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.28 !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-list-section--intro .art-apps-link--button {
    justify-self: end !important;
    align-self: start;
    margin-top: 1px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav {
    position: relative !important;
    top: auto !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__inner {
    padding: 8px 0 0 !important;
    border-top: 1px solid rgba(0, 0, 0, 0.14) !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
    border-left: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__head {
    gap: 6px !important;
    margin-bottom: 2px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__meta {
    font-size: 9px !important;
    line-height: 1 !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__links {
    grid-template-columns: 1fr 1fr !important;
    gap: 6px !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__link {
    min-height: 34px !important;
    padding: 7px 8px !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-theme-section--catalogue {
    margin-bottom: 2px !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-section-title--catalogue {
    margin: 0 !important;
    padding: 0 0 6px !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-theme-section {
    margin: 0 !important;
    padding: 12px 0 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-theme-head {
    gap: 7px !important;
    padding-bottom: 8px !important;
    margin-bottom: 8px !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-theme-copy h2 {
    margin-bottom: 5px !important;
    font-size: 22px !important;
    line-height: 0.96 !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-theme-copy p {
    font-size: 13px !important;
    line-height: 1.28 !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-entry {
    padding: 12px 0 14px !important;
    gap: 10px !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-entry-preview-shell {
    width: 100% !important;
    max-width: none !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-entry-titleline {
    margin-bottom: 6px !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-entry-titleline h3 {
    font-size: 22px !important;
    line-height: 0.96 !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-entry-summary {
    font-size: 14px !important;
    line-height: 1.34 !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-entry-link,
  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-entry-cta {
    width: 100% !important;
  }
}

@media screen and (max-width: 899px) {
  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-copyband {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100%;
    margin: 0 0 16px !important;
    padding: 0 !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-copyband .art-apps-index-copyblock {
    border: 1px solid rgba(0, 0, 0, 0.14) !important;
    border-radius: 16px !important;
    background: #fff !important;
    padding: 10px 12px 12px !important;
    box-shadow: none !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-copyband .art-apps-index-copyblock:first-child {
    border-top: 1px solid rgba(0, 0, 0, 0.14) !important;
    padding-top: 10px !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-copyband .art-apps-index-copyblock summary {
    min-height: 20px;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured {
    display: grid !important;
    gap: 12px !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-index-featured__head {
    display: grid !important;
    gap: 5px !important;
    padding-bottom: 8px !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.12);
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry {
    padding: 0 !important;
    border-bottom: 0 !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry--featured-conversation {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "preview"
      "body"
      "meta"
      "link" !important;
    gap: 12px !important;
    padding: 14px 14px 16px !important;
    border: 1px solid rgba(0, 0, 0, 0.14) !important;
    border-radius: 18px !important;
    background: #fff !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry--featured-conversation .art-apps-entry-preview-shell {
    width: min(100%, 236px) !important;
    margin: 0 auto !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry--featured-conversation .art-apps-entry-meta {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px 10px !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-list-section--intro {
    margin: 0 0 10px !important;
    padding: 12px 13px 13px !important;
    border: 1px solid rgba(0, 0, 0, 0.14) !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-list-section--intro .art-apps-list-section__columns {
    gap: 8px !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-list-section--intro .art-apps-list-section__titleline {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: start;
    gap: 8px 10px !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-list-section--intro .art-apps-list-section__column--title h3 {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-list-section--intro .art-apps-list-section__titleline p {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-list-section--intro .art-apps-link--button {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: start !important;
    margin-top: -4px !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav {
    position: relative !important;
    top: auto !important;
    z-index: auto !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__inner {
    gap: 7px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    -webkit-backdrop-filter: none !important;
            backdrop-filter: none !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__head {
    gap: 8px !important;
    margin-bottom: 4px !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__links {
    display: flex !important;
    flex-wrap: nowrap !important;
    grid-template-columns: none !important;
    gap: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 2px 0 4px !important;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__links::-webkit-scrollbar {
    display: none;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__link {
    flex: 0 0 min(78vw, 280px) !important;
    min-height: 38px !important;
    padding: 8px 10px !important;
    border-radius: 14px !important;
    background: #fff !important;
    color: #000 !important;
    border-color: rgba(0, 0, 0, 0.16) !important;
    scroll-snap-align: center;
    scroll-snap-stop: always;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__link.is-current {
    background: #000 !important;
    color: #fff !important;
    border-color: #000 !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__link.is-current .art-apps-index-floating-nav__link-kicker,
  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__link.is-current .art-apps-index-floating-nav__link-label,
  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__link.is-current .art-apps-index-floating-nav__link-meta {
    color: #fff !important;
    opacity: 1 !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-theme-section--catalogue {
    margin-bottom: 6px !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-section-title--catalogue {
    margin: 0 !important;
    padding: 0 0 4px !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-theme-section {
    margin: 0 0 12px !important;
    padding: 13px 12px !important;
    border: 1px solid rgba(0, 0, 0, 0.14) !important;
    border-radius: 16px !important;
    background: #fff !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-theme-head {
    gap: 8px !important;
    padding-bottom: 10px !important;
    margin-bottom: 10px !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-entry {
    padding: 14px 0 16px !important;
    gap: 12px !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-entry-preview-shell {
    width: 100% !important;
    max-width: none !important;
  }
}

@media screen and (max-width: 560px) {
  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-featured .art-apps-entry--featured-conversation .art-apps-entry-meta,
  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-entry-meta,
  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__links {
    grid-template-columns: 1fr !important;
  }
}

@media screen and (max-width: 899px) {
  body.apps-page > nav.header-menu-open #sous-titre {
    display: none !important;
    visibility: hidden !important;
  }

  body.apps-page > nav .link-home,
  body.apps-page > nav .link-works,
  body.apps-page > nav #menu-colophon,
  body.apps-page > nav .language,
  body.apps-page > nav .header-cart {
    display: none !important;
  }

  body.apps-page > nav .nav-right {
    margin: 0;
    padding: 0 15px 0 0 !important;
    position: fixed;
    right: 0;
    display: flex;
    align-items: baseline;
    gap: 0;
    height: 35px;
    overflow: visible;
  }

  body.apps-page > nav .header-dropdown {
    position: relative;
    display: flex !important;
    flex-direction: row-reverse;
    align-items: center;
    gap: 4px;
  }

  body.apps-page > nav .header-dropdown-toggle {
    width: 28px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #000;
    font-family: "TwoMontrouge", Helvetica, sans-serif;
    font-size: 30px;
    line-height: 1;
    text-align: center;
    cursor: url(../img/mickeyhand.png), pointer !important;
  }

  body.apps-page > nav .header-dropdown-icon {
    display: inline-block;
    position: relative;
    left: 2px;
    top: 2px;
    transform: rotate(45deg);
    transform-origin: center center;
    transition: transform 140ms ease;
  }

  body.apps-page > nav .nav-right.is-open .header-dropdown-icon {
    transform: rotate(0deg);
  }

  body.apps-page > nav .header-dropdown-panel {
    position: absolute;
    top: 50%;
    right: calc(100% + 8px);
    transform: translate3d(8px, -50%, 0) scaleX(0);
    transform-origin: right center;
    opacity: 0;
    visibility: hidden;
    width: auto;
    white-space: nowrap;
    pointer-events: none;
    display: flex !important;
    align-items: center;
    gap: 14px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    transition: transform 140ms ease, opacity 140ms ease;
  }

  body.apps-page > nav .nav-right.is-open .header-dropdown-panel {
    transform: translate3d(0, -50%, 0) scaleX(1);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  body.apps-page > nav .header-dropdown-link,
  body.apps-page > nav .header-dropdown-about {
    border: 0;
    background: transparent;
    color: #000;
    font-family: "TwoMontrouge", Helvetica, sans-serif;
    font-size: 14px;
    line-height: 18px;
    padding: 0;
    text-decoration: none;
    cursor: url(../img/mickeyhand.png), pointer !important;
    position: relative;
    top: 3px;
  }

  body.apps-page > nav .header-dropdown-language {
    display: inline-flex;
    align-items: baseline;
    font-size: 14px;
    line-height: 18px;
    position: relative;
    top: 3px;
  }

  body.apps-page > nav .header-dropdown-language .language-dropdown-trigger {
    position: relative;
    top: 0;
  }

  body.apps-page > nav .header-dropdown-cart {
    display: inline-flex !important;
    width: 21px;
    align-items: center;
  }

  body.apps-page > nav .header-dropdown-cart img {
    width: 20px;
    position: relative;
    left: -5px;
    top: -3px;
  }
}

@media screen and (max-width: 899px) {
  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index {
    overflow: visible !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav {
    position: sticky !important;
    top: var(--art-apps-index-floating-top, 42px) !important;
    z-index: 72 !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__inner {
    display: grid !important;
    grid-template-columns: max-content minmax(0, 1fr) !important;
    align-items: start !important;
    position: relative !important;
    overflow: visible !important;
    gap: 10px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    -webkit-backdrop-filter: none !important;
            backdrop-filter: none !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__head {
    display: flex !important;
    align-items: center !important;
    align-self: center !important;
    gap: 0 !important;
    margin: 0 !important;
    min-height: 44px !important;
    padding: 0 2px 0 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    cursor: pointer;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__head::after {
    content: none;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav.is-picker-open .art-apps-index-floating-nav__head::after {
    content: none;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__copy {
    min-width: 0;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__copy .art-apps-theme-kicker {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 4px 10px;
    border: 1px solid #000;
    border-radius: 999px;
    background: #fff !important;
    opacity: 1 !important;
    color: #000;
    white-space: nowrap;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__meta {
    display: none !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__links {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 46px !important;
    max-height: 46px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid rgba(0, 0, 0, 0.14) !important;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08) !important;
    transform: none !important;
    z-index: 73 !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav:not(.is-picker-open) .art-apps-index-floating-nav__links {
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav.is-picker-open .art-apps-index-floating-nav__links {
    --art-apps-picker-item-height: 50px;
    --art-apps-picker-window-height: 240px;
    --art-apps-picker-window-padding: calc((var(--art-apps-picker-window-height) - var(--art-apps-picker-item-height)) / 2);
    height: var(--art-apps-picker-window-height) !important;
    max-height: var(--art-apps-picker-window-height) !important;
    overflow-y: auto !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    padding: var(--art-apps-picker-window-padding) 0 !important;
    border: 1px solid rgba(0, 0, 0, 0.14) !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.12) !important;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: y mandatory;
    scroll-behavior: smooth;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav.is-picker-open .art-apps-index-floating-nav__links::-webkit-scrollbar {
    width: 0;
    height: 0;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav.is-picker-open .art-apps-index-floating-nav__links::before {
    content: "";
    position: absolute;
    left: 8px;
    right: 8px;
    top: 50%;
    height: var(--art-apps-picker-item-height);
    transform: translateY(-50%);
    border: 1px solid rgba(0, 0, 0, 0.14);
    border-radius: 14px;
    background: rgba(0, 0, 0, 0.04);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.45);
    pointer-events: none;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav .art-apps-index-floating-nav__link {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: var(--art-apps-picker-item-height, 50px) !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #000 !important;
    scroll-snap-align: center;
    transition: none !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav:not(.is-picker-open) .art-apps-index-floating-nav__link {
    opacity: 0 !important;
    pointer-events: none !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav:not(.is-picker-open) .art-apps-index-floating-nav__link.is-current {
    opacity: 1 !important;
    pointer-events: auto !important;
    background: #000 !important;
    color: #fff !important;
    border-radius: 14px !important;
    border-color: #000 !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav.is-picker-open .art-apps-index-floating-nav__link {
    opacity: 0.34 !important;
    pointer-events: auto !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav.is-picker-open .art-apps-index-floating-nav__link.is-current {
    background: transparent !important;
    color: #000 !important;
    opacity: 0.34 !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav.is-picker-open .art-apps-index-floating-nav__link.is-preview {
    margin: 0 8px !important;
    border-radius: 14px !important;
    background: #000 !important;
    color: #fff !important;
    opacity: 1 !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav:not(.is-picker-open) .art-apps-index-floating-nav__link.is-current .art-apps-index-floating-nav__link-kicker,
  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav:not(.is-picker-open) .art-apps-index-floating-nav__link.is-current .art-apps-index-floating-nav__link-label,
  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav:not(.is-picker-open) .art-apps-index-floating-nav__link.is-current .art-apps-index-floating-nav__link-meta,
  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav.is-picker-open .art-apps-index-floating-nav__link.is-preview .art-apps-index-floating-nav__link-kicker,
  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav.is-picker-open .art-apps-index-floating-nav__link.is-preview .art-apps-index-floating-nav__link-label,
  body.apps-page[data-app-page="index"] #art-apps-root .art-apps-shell--index > .art-apps-index-floating-nav.is-picker-open .art-apps-index-floating-nav__link.is-preview .art-apps-index-floating-nav__link-meta {
    color: #fff !important;
    opacity: 1 !important;
  }
}

@media screen and (min-width: 900px) {
  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-banner .art-apps-index-banner-meta {
    margin-top: 10px !important;
  }

  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-banner .art-apps-index-banner-meta .art-apps-chip,
  body.apps-page[data-app-page="index"] #art-apps-root > .art-apps-index-banner .art-apps-index-banner-meta .art-apps-inline-meta {
    transform: none !important;
    margin: 0 !important;
    align-self: baseline;
  }
}
