:root {
  color-scheme: light;
  --bg: #fbfbfa;
  --text: #141414;
  --muted: #66645e;
  --line: #deddd8;
  --panel: #ffffff;
  --accent: #164f45;
  --accent-2: #a72c3a;
  --focus: #2b6fdb;
  --work-thumbnail-radius: 0.65rem;
  --public-work-image-max-height: min(76vh, calc(100vh - clamp(7rem, 18vh, 11rem)));
  --public-work-scroll-margin-top: clamp(6rem, 16vh, 10rem);
  --work-annotation-rail-width: 2.75rem;
  --work-annotation-rail-gap: clamp(0.75rem, 1.4vw, 1.15rem);
}

@supports (height: 100svh) {
  :root {
    --public-work-image-max-height: min(76svh, calc(100svh - clamp(7rem, 18svh, 11rem)));
    --public-work-scroll-margin-top: clamp(6rem, 16svh, 10rem);
  }
}

* {
  box-sizing: border-box;
}

html {
  min-height: 100%;
  scroll-padding-top: 5.5rem;
}

body {
  margin: 0;
  min-height: 100vh;
  background: var(--bg);
  color: var(--text);
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.5;
  display: flex;
  flex-direction: column;
}

@supports (min-height: 100svh) {
  body {
    min-height: 100svh;
  }
}

#main-content {
  flex: 1 0 auto;
}

a {
  color: inherit;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
main:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 3px;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

button,
input,
textarea,
select {
  font: inherit;
}

.site-header,
.site-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem clamp(1rem, 4vw, 3rem);
}

.site-header {
  border-bottom: 1px solid var(--line);
  background: var(--bg);
  position: sticky;
  top: 0;
  z-index: 40;
}

.owner-only-banner {
  margin: 0;
  padding: 0.65rem clamp(1rem, 4vw, 3rem);
  border-bottom: 1px solid var(--line);
  background: #f4f1e8;
  color: var(--text);
  font-size: 0.92rem;
}

.skip-link {
  position: absolute;
  left: 1rem;
  top: 1rem;
  z-index: 60;
  transform: translateY(-150%);
  background: var(--text);
  color: #fff;
  padding: 0.65rem 0.85rem;
  text-decoration: none;
}

.skip-link:focus-visible {
  transform: translateY(0);
}

.site-footer {
  border-top: 1px solid var(--line);
  margin-top: 4rem;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  color: var(--muted);
}

.brand {
  text-decoration: none;
  display: grid;
  gap: 0.1rem;
}

.brand span,
h1,
h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
}

.brand span {
  font-size: 1.35rem;
}

.brand small {
  color: var(--muted);
  font-size: 0.72rem;
}

.main-nav,
.actions,
.subnav,
.footer-links {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.main-nav a,
.site-footer a,
.link-button {
  color: var(--text);
  text-decoration: none;
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
}

.main-nav a {
  font-weight: 400;
}

.main-nav-group {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}

.main-nav-group + .main-nav-group {
  padding-left: 0.85rem;
  border-left: 1px solid var(--line);
}

.main-nav-group--utility,
.main-nav-group--account {
  gap: 0.6rem;
}

.main-nav-search-link {
  display: inline-flex;
  align-items: center;
  gap: 0.32rem;
}

.main-nav-search-icon {
  width: 0.95rem;
  height: 0.95rem;
}

.inline-form {
  display: inline;
}

.global-menu {
  position: relative;
}

.global-menu--mobile-only {
  display: none;
}

.global-menu[data-global-menu-open="true"] {
  z-index: 42;
}

.global-menu-button {
  display: inline-grid;
  place-items: center;
  width: 2.35rem;
  height: 2.35rem;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--text);
  cursor: pointer;
}

.global-menu-button span {
  display: inline-grid;
  place-items: center;
  line-height: 1;
  letter-spacing: 0;
}

.global-menu-panel {
  position: absolute;
  top: calc(100% + 0.45rem);
  right: 0;
  z-index: 45;
  min-width: 9rem;
  display: grid;
  gap: 0.65rem;
  padding: 0.8rem;
  border: 1px solid var(--line);
  background: #fff;
  box-shadow: 0 1rem 2rem rgba(20, 20, 20, 0.08);
}

.global-menu-panel[hidden] {
  display: none;
}

.global-menu-mobile-primary {
  display: none;
}

.global-menu-mobile-entry {
  display: none;
}

.global-menu-panel a,
.global-menu-panel .link-button {
  color: var(--text);
  text-decoration: none;
  text-align: left;
  width: 100%;
}

.notification-nav-link {
  position: relative;
  flex: 0 0 2.35rem;
  width: 2.35rem;
  height: 2.35rem;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--text);
}

.notification-nav-link:hover,
.notification-nav-link:focus-visible {
  border-color: var(--text);
}

.notification-nav-icon {
  width: 1.05rem;
  height: 1.05rem;
}

.notification-nav-badge {
  position: absolute;
  top: -0.34rem;
  right: -0.34rem;
  min-width: 1.08rem;
  height: 1.08rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 0.24rem;
  border: 1px solid #fff;
  border-radius: 999px;
  background: #9f1d20;
  color: #fff;
  font-size: 0.64rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
}

.profile-shortcut {
  width: 2.35rem;
  height: 2.35rem;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  overflow: visible;
  background: #fff;
}

.profile-shortcut span {
  font-size: 0.85rem;
  font-weight: 600;
}

.profile-shortcut > img,
.profile-shortcut-image {
  width: 100%;
  height: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.profile-picture-crop {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 1 / 1;
  border-radius: 0;
  background: #f4f3ef;
}

.profile-shortcut .profile-picture-crop {
  border-radius: 50%;
}

.profile-picture-crop-image {
  position: absolute;
  top: var(--profile-crop-top, 0);
  left: var(--profile-crop-left, 0);
  width: var(--profile-crop-width, 100%);
  height: var(--profile-crop-height, 100%);
  max-width: none;
  object-fit: var(--profile-picture-object-fit, cover);
}

.button {
  appearance: none;
  border: 1px solid var(--text);
  background: var(--text);
  color: #fff;
  padding: 0.72rem 1rem;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.5rem;
  cursor: pointer;
}

.button.secondary {
  background: transparent;
  color: var(--text);
}

.button.danger {
  border-color: #9f1d20;
  background: #9f1d20;
  color: #fff;
}

.button.small {
  padding: 0.45rem 0.7rem;
  min-height: 2rem;
  font-size: 0.92rem;
}

.detail-actions,
.publication-reader-actions {
  --detail-action-control-size: 2.25rem;
}

.detail-actions .button.small,
.publication-reader-actions .button.small {
  min-height: var(--detail-action-control-size);
  line-height: 1;
}

.main-nav .button.main-nav-link {
  font-size: inherit;
  line-height: inherit;
}

.icon {
  display: inline-block;
  flex: 0 0 auto;
  width: 1rem;
  height: 1rem;
  color: currentColor;
  vertical-align: -0.15em;
}

.button .icon {
  width: 0.95rem;
  height: 0.95rem;
}

.button.bookmark-toggle {
  --bookmark-toggle-size: var(--detail-action-control-size, 2.25rem);
  flex: 0 0 var(--bookmark-toggle-size);
  width: var(--bookmark-toggle-size);
  min-width: var(--bookmark-toggle-size);
  height: var(--bookmark-toggle-size);
  min-height: var(--bookmark-toggle-size);
  padding: 0;
  line-height: 1;
}

.bookmark-toggle.is-saved {
  background: #fff;
}

.button.bookmark-toggle .icon {
  width: 0.95rem;
  height: 0.95rem;
}

.bookmark-toggle.is-saved .icon {
  fill: currentColor;
}

.button:disabled,
button:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.library-tabs {
  margin: 0.75rem 0 1rem;
}

.library-tabs a {
  border: 1px solid var(--line);
  padding: 0.45rem 0.65rem;
  text-decoration: none;
  background: #fff;
}

.library-tabs a.active {
  border-color: var(--text);
  background: var(--text);
  color: #fff;
}

.library-tabs span {
  color: inherit;
  font-size: 0.82rem;
}

.library-app-body {
  --line: #dde1e5;
  --muted: #5f656b;
  background: #f7f8f9;
}

.library-app-body #main-content {
  width: 100%;
}

.library-app-body .site-footer {
  display: none;
}

.library-app-body .page-shell.library-page-shell,
.library-page-shell,
.library-workspace-page {
  width: 100%;
  max-width: none;
  margin: 0;
}

.library-workspace-section {
  border-top: 1px solid var(--line);
  background: #fff;
}

.library-workspace {
  display: grid;
  grid-template-columns: minmax(15.5rem, 18rem) minmax(0, 1fr) minmax(14.5rem, 16.5rem);
  gap: 0;
  align-items: stretch;
  min-height: calc(100vh - 4.7rem);
  font-size: 0.88rem;
}

.library-workspace .eyebrow {
  margin: 0 0 0.28rem;
  font-size: 0.66rem;
}

.library-workspace .helper {
  font-size: 0.8rem;
  line-height: 1.35;
}

.library-workspace .button.small {
  min-height: 1.95rem;
  padding: 0.34rem 0.55rem;
  font-size: 0.8rem;
}

.library-workspace-nav,
.library-inspector {
  border: 0;
  background: #f7f8f9;
  padding: 1rem 1.05rem;
  position: sticky;
  top: 4.7rem;
  max-height: calc(100vh - 4.7rem);
}

.library-workspace-nav {
  border-right: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  min-height: calc(100vh - 4.7rem);
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: stable;
}

.library-inspector {
  border-left: 1px solid var(--line);
  overflow: auto;
  padding: 0.85rem 0.8rem;
  font-size: 0.82rem;
}

@supports (max-height: 100svh) {
  .library-workspace-nav,
  .library-inspector {
    max-height: calc(100svh - 4.7rem);
  }

  .library-workspace-nav {
    min-height: calc(100svh - 4.7rem);
  }
}

.library-workspace-nav h3,
.library-inspector h3 {
  margin: 0 0 0.5rem;
  font-size: 0.9rem;
}

.library-side-nav {
  display: grid;
  gap: 0.1rem;
  margin-bottom: 1rem;
}

.library-view-nav {
  flex: 0 0 auto;
}

.library-side-nav a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  border: 1px solid transparent;
  min-height: 2.05rem;
  padding: 0.26rem 0.45rem;
  text-decoration: none;
  color: var(--muted);
  font-size: 0.84rem;
  transition: background 120ms ease, border-color 120ms ease, color 120ms ease;
}

.library-side-nav a:hover,
.library-side-nav a:focus-visible {
  border-color: var(--line);
  background: #fff;
  color: var(--text);
}

.library-side-nav a.active {
  border-color: var(--text);
  background: var(--text);
  color: #fff;
}

.library-workspace.is-library-dragging .library-side-nav a {
  cursor: default;
}

.library-workspace.is-library-dragging .library-side-nav a.is-library-drop-valid {
  border-color: #2d7f4f;
  background: #f1fbf5;
  color: #153f2a;
}

.library-workspace.is-library-dragging .library-side-nav a.is-library-drop-invalid {
  opacity: 0.46;
  filter: grayscale(1);
}

.library-workspace.is-library-dragging .library-side-nav a.is-library-drop-over {
  border-color: #1c6f3d;
  background: #dff5e8;
  color: #102f20;
  box-shadow: inset 0 0 0 2px rgba(28, 111, 61, 0.24);
}

.library-side-nav strong {
  font-size: 0.68rem;
  font-weight: 700;
}

.library-folder-empty {
  margin: 0.2rem 0 0;
  border: 1px dashed #cdd2d6;
  background: #fff;
  color: var(--muted);
  padding: 0.55rem 0.6rem;
  font-size: 0.78rem;
  line-height: 1.3;
}

.library-nav-label {
  display: inline-grid;
  grid-template-columns: 1rem minmax(0, 1fr);
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
}

.library-nav-label span:last-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.library-nav-icon {
  width: 0.95rem;
  height: 0.95rem;
  color: currentColor;
  opacity: 0.78;
}

.library-side-nav a.active .library-nav-icon {
  opacity: 0.9;
}

.library-folder-panel {
  border-top: 1px solid var(--line);
  padding-top: 0.75rem;
  display: grid;
  grid-template-rows: auto auto auto auto;
  align-content: start;
  gap: 0.5rem;
  flex: 0 0 auto;
  min-height: 0;
  overflow: visible;
}

.library-folder-heading-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-width: 0;
}

.library-folder-panel h3 {
  margin: 0;
  color: var(--muted);
  font-family: inherit;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.2;
  text-transform: uppercase;
}

.library-folder-panel .library-folder-nav {
  max-height: min(14rem, 34vh);
  margin: 0;
  overflow-y: auto;
  padding-right: 0.15rem;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

.library-folder-nav .library-folder-clear-link {
  border-color: var(--line);
  background: #fff;
  color: var(--text);
}

.library-folder-create-form,
.folder-management,
.library-inspector-actions {
  display: grid;
  gap: 0.45rem;
}

.folder-management {
  margin: 0.1rem 0 0;
}

.library-folder-create-panel {
  position: relative;
  margin: 0;
  flex: 0 0 auto;
}

.library-folder-create-panel summary {
  display: grid;
  place-items: center;
  width: 1.65rem;
  height: 1.65rem;
  min-height: 0;
  border: 0;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  line-height: 1;
}

.library-folder-create-panel summary:hover,
.library-folder-create-panel summary:focus-visible,
.library-folder-create-panel[open] summary {
  color: var(--text);
}

.library-folder-create-panel summary::-webkit-details-marker {
  display: none;
}

.library-folder-create-panel summary .icon {
  width: 0.95rem;
  height: 0.95rem;
}

.library-folder-create-form {
  position: absolute;
  top: calc(100% + 0.4rem);
  right: 0;
  z-index: 8;
  grid-template-columns: minmax(0, 1fr) 2rem;
  width: min(15rem, calc(100vw - 2rem));
  border: 1px solid #dfe3e7;
  background: #fff;
  padding: 0.45rem;
  box-shadow: 0 0.7rem 1.6rem rgba(17, 17, 17, 0.12);
}

.library-folder-create-form input[name="name"] {
  min-width: 0;
}

.library-folder-create-submit {
  display: grid;
  place-items: center;
  width: 2rem;
  min-width: 2rem;
  min-height: 2rem;
  border: 1px solid var(--text);
  background: var(--text);
  color: #fff;
  cursor: pointer;
  font-size: 1.05rem;
  line-height: 1;
  padding: 0;
}

.library-folder-create-form label,
.folder-management label,
.library-inspector-actions label {
  font-size: 0.76rem;
  font-weight: 700;
}

.library-workspace-nav input,
.library-workspace-nav select,
.library-inspector input,
.library-inspector select,
.library-inspector textarea {
  min-height: 2rem;
  padding: 0.34rem 0.45rem;
  font-size: 0.8rem;
}

.library-gallery-surface {
  min-width: 0;
  padding: 1rem 1.15rem;
  background: #fff;
}

.library-workspace-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 0.8rem 1.25rem;
  margin-bottom: 1rem;
}

.library-workspace-title {
  min-width: min(100%, 22rem);
}

.library-workspace-title h1 {
  margin: 0;
  font-size: clamp(1.45rem, 2vw, 1.7rem);
  line-height: 1.05;
}

.library-image-count,
.library-filter-context,
.library-toolbar-actions {
  margin: 0;
}

.library-image-count {
  margin-top: 0.25rem;
  color: var(--muted);
  font-size: 0.9rem;
  font-weight: 600;
}

.library-filter-context {
  margin-top: 0.2rem;
  color: var(--muted);
  font-size: 0.76rem;
  line-height: 1.35;
}

.library-toolbar-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: flex-end;
}

.library-upload-action {
  display: inline-grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--text);
  text-decoration: none;
  line-height: 1;
}

.library-upload-action:hover,
.library-upload-action:focus-visible {
  border-color: #a9b0b7;
  background: #f5f6f7;
}

.library-command-row {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(14rem, 1.35fr) minmax(5.6rem, auto) minmax(9.5rem, 0.55fr) auto minmax(9.5rem, auto);
  gap: 0.55rem;
  align-items: stretch;
}

.library-toolbar-form {
  display: block;
  min-width: 0;
}

.library-search-control {
  display: flex;
  min-width: 0;
}

.library-toolbar-form input,
.library-command-row select,
.library-filter-menu summary,
.batch-metadata-panel > summary,
.library-mode-button {
  min-width: 0;
  width: 100%;
  min-height: 2.15rem;
  border: 1px solid var(--line);
  background: #fff;
  padding: 0.36rem 0.5rem;
  font: inherit;
  font-size: 0.84rem;
}

.library-command-row select {
  appearance: auto;
}

.library-search-control input[type="search"] {
  border-right: 0;
}

.library-icon-button,
.library-reset-link {
  min-height: 2.15rem;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--text);
}

.library-icon-button {
  width: 2.25rem;
  min-width: 2.25rem;
  padding: 0;
  display: inline-grid;
  place-items: center;
  cursor: pointer;
}

.library-icon-button .icon,
.library-upload-action .icon,
.library-folder-create-submit .icon {
  width: 0.95rem;
  height: 0.95rem;
}

.library-reset-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.36rem 0.55rem;
  text-decoration: none;
  font-size: 0.84rem;
  width: fit-content;
}

.library-filter-menu,
.batch-metadata-panel {
  position: relative;
  min-width: 0;
}

.library-filter-menu summary,
.batch-metadata-panel > summary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  cursor: pointer;
  list-style: none;
  font-weight: 700;
  white-space: nowrap;
}

.library-filter-menu summary::-webkit-details-marker,
.batch-metadata-panel > summary::-webkit-details-marker {
  display: none;
}

.library-filter-menu summary::after,
.batch-metadata-panel > summary::after {
  content: "";
  width: 0.42rem;
  height: 0.42rem;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-0.1rem);
}

.library-filter-icon {
  width: 0.85rem;
  height: 0.85rem;
}

.library-filter-popover,
.batch-metadata-panel[open] .batch-metadata-form {
  position: absolute;
  top: calc(100% + 0.35rem);
  right: 0;
  z-index: 5;
  width: min(32rem, calc(100vw - 2rem));
  border: 1px solid var(--line);
  background: #fff;
  padding: 0.75rem;
  box-shadow: 0 1rem 2.25rem rgba(17, 17, 17, 0.12);
}

.library-filter-popover {
  display: grid;
  gap: 0.4rem;
  width: min(16rem, calc(100vw - 2rem));
  left: 0;
  right: auto;
}

.library-filter-popover label {
  font-size: 0.76rem;
  font-weight: 700;
}

.library-filter-popover select {
  min-height: 2rem;
  border: 1px solid var(--line);
  background: #fff;
  padding: 0.34rem 0.45rem;
  font: inherit;
  font-size: 0.8rem;
}

.library-mode-toggle {
  display: inline-grid;
  grid-template-columns: repeat(2, 2.15rem);
  align-items: stretch;
}

.library-mode-button {
  display: grid;
  place-items: center;
  padding: 0;
  color: var(--text);
  cursor: pointer;
}

.library-mode-button + .library-mode-button {
  border-left: 0;
}

.library-mode-button.is-active {
  background: #eef1f4;
  box-shadow: inset 0 0 0 1px #c7ced6;
}

.library-mode-grid-icon,
.library-mode-list-icon {
  display: block;
  width: 1rem;
  height: 1rem;
}

.library-selection-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 0.45rem 0.65rem;
  border: 0;
  background: transparent;
  padding: 0.1rem 0 0.45rem;
  margin: 0;
  grid-column: 1 / -1;
}

.library-selection-cluster,
.library-view-density-control {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  min-width: 0;
}

.library-selection-cluster {
  flex-wrap: wrap;
}

.library-view-density-control {
  margin-left: auto;
  color: var(--muted);
  font-size: 0.84rem;
}

.library-view-density-control strong {
  color: var(--text);
  font-weight: 500;
}

.library-view-density-control .icon {
  width: 0.85rem;
  height: 0.85rem;
}

.library-view-density-control input[type="range"] {
  --library-density-progress: 50%;
  width: clamp(6.5rem, 12vw, 11rem);
  height: 1.45rem;
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  cursor: pointer;
}

.library-view-density-control input[type="range"]::-webkit-slider-runnable-track {
  height: 0.36rem;
  border: 1px solid #a9afb5;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    var(--text) 0 var(--library-density-progress),
    #d4d8dc var(--library-density-progress) 100%
  );
}

.library-view-density-control input[type="range"]::-webkit-slider-thumb {
  appearance: none;
  -webkit-appearance: none;
  width: 1.45rem;
  height: 1.45rem;
  margin-top: -0.62rem;
  border: 2px solid #111;
  border-radius: 50%;
  background: #111;
}

.library-view-density-control input[type="range"]::-moz-range-track {
  height: 0.36rem;
  border: 1px solid #a9afb5;
  border-radius: 999px;
  background: #d4d8dc;
}

.library-view-density-control input[type="range"]::-moz-range-progress {
  height: 0.36rem;
  border-radius: 999px;
  background: var(--text);
}

.library-view-density-control input[type="range"]::-moz-range-thumb {
  width: 1.2rem;
  height: 1.2rem;
  border: 2px solid #111;
  border-radius: 50%;
  background: #111;
}

.library-select-all-control {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  min-height: 1.75rem;
  color: var(--text);
  font-size: 0.84rem;
  font-weight: 600;
}

.library-select-all-control input {
  width: 1rem;
  height: 1rem;
  margin: 0;
}

.library-selection-bar .batch-selection-status {
  flex: 0 1 auto;
  margin: 0;
  text-align: left;
}

.library-clear-selection {
  border: 0;
  background: transparent;
  color: var(--muted);
  padding: 0;
  font: inherit;
  font-size: 0.84rem;
  cursor: pointer;
}

.library-clear-selection:not(:disabled):hover,
.library-clear-selection:not(:disabled):focus-visible {
  color: var(--text);
  text-decoration: underline;
}

.library-clear-selection:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.library-storage-panel {
  border-top: 1px solid var(--line);
  margin-top: auto;
  padding-top: 0.75rem;
  display: grid;
  flex: 0 0 auto;
  gap: 0.35rem;
  position: sticky;
  bottom: 0;
  z-index: 1;
  background: #f7f8f9;
  box-shadow: 0 -0.7rem 1rem #f7f8f9;
}

.library-storage-meter {
  display: grid;
  gap: 0.2rem;
  color: var(--muted);
  font-size: 0.76rem;
}

.library-storage-meter strong {
  color: var(--text);
}

.library-storage-bar {
  width: 100%;
  height: 0.3rem;
  border: 0;
  background: #dfe3e7;
}

.library-storage-bar::-webkit-meter-bar {
  border: 0;
  background: #dfe3e7;
}

.library-storage-bar::-webkit-meter-optimum-value {
  background: #111;
}

.library-storage-bar::-moz-meter-bar {
  background: #111;
}

.library-workspace-grid {
  grid-template-columns: repeat(auto-fill, minmax(8rem, 1fr));
  align-items: start;
}

.library-workspace-grid.library-grid-density-compact {
  grid-template-columns: repeat(auto-fill, minmax(7rem, 1fr));
}

.library-workspace-grid.library-grid-density-snug {
  grid-template-columns: repeat(auto-fit, minmax(max(8rem, calc((100% - 4.5rem) / 7)), 1fr));
}

.library-workspace-grid.library-grid-density-standard {
  grid-template-columns: repeat(auto-fit, minmax(max(9rem, calc((100% - 3rem) / 5)), 1fr));
}

.library-workspace-grid.library-grid-density-spacious {
  grid-template-columns: repeat(auto-fit, minmax(max(10.5rem, calc((100% - 1.5rem) / 3)), 1fr));
}

.library-workspace-grid.library-grid-density-comfortable {
  grid-template-columns: repeat(auto-fit, minmax(max(12rem, calc((100% - 0.75rem) / 2)), 1fr));
}

.library-workspace-card {
  position: relative;
  gap: 0;
  padding: 0;
  scroll-margin-top: 5.5rem;
  overflow: hidden;
  border: 1px solid #d9dddf;
  background: #fff;
  box-shadow: 0 1px 2px rgba(17, 17, 17, 0.035);
  transition: border-color 120ms ease, box-shadow 120ms ease, transform 120ms ease;
}

.library-workspace-card:hover {
  border-color: #b9bec2;
  box-shadow: 0 0.35rem 0.9rem rgba(17, 17, 17, 0.055);
}

.library-workspace-card:focus-within {
  outline: 3px solid var(--focus);
  outline-offset: 3px;
}

.library-workspace-card.is-active {
  border-color: #9aa2a8;
  box-shadow: inset 0 0 0 1px rgba(17, 17, 17, 0.12);
}

.library-workspace-card.is-selected {
  border-color: #1d6fd7;
  box-shadow: inset 0 0 0 2px #1d6fd7, 0 0 0 1px rgba(29, 111, 215, 0.14);
}

.library-workspace-card.is-selected.is-active {
  box-shadow: inset 0 0 0 2px #1d6fd7, inset 0 0 0 4px #fff, 0 0 0 1px #20242a;
}

.library-workspace-card[draggable="true"] {
  cursor: grab;
}

.library-workspace-card.is-library-drag-source {
  opacity: 0.62;
  cursor: grabbing;
  transform: scale(0.985);
}

.library-card-toolbar {
  position: absolute;
  inset: 0.42rem 0.42rem auto;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.45rem;
  min-height: 1.6rem;
  padding: 0;
  pointer-events: none;
}

.library-card-toolbar > * {
  pointer-events: auto;
}

.library-card-toolbar input[type="checkbox"] {
  width: 1rem;
  height: 1rem;
  margin: 0;
  accent-color: #1d6fd7;
  border-color: #8d949c;
  background: #fff;
  box-shadow: 0 1px 4px rgba(17, 17, 17, 0.22);
}

.library-card-selection-surface {
  display: grid;
  grid-template-rows: auto auto auto;
  gap: 0;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  min-width: 0;
  color: inherit;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.library-card-selection-surface:hover strong,
.library-card-selection-surface:focus-visible strong {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.16rem;
}

.library-card-selection-surface > img {
  width: 100%;
  max-height: none;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  background: #e7e9ea;
}

.library-card-selection-surface:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: -3px;
}

.library-card-selection-surface > strong {
  display: -webkit-box;
  min-height: 2.45rem;
  padding: 0.62rem 0.68rem 0.16rem;
  color: #171a1d;
  font-size: 0.82rem;
  font-weight: 650;
  line-height: 1.22;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.library-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  min-height: 1.8rem;
  padding: 0.04rem 2rem 0.58rem 0.68rem;
  min-width: 0;
}

.library-card-status {
  display: inline-flex;
  align-items: center;
  gap: 0.32rem;
  min-width: 0;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.2;
}

.library-card-status > span:last-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.library-card-status-dot {
  flex: 0 0 auto;
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 999px;
  background: #5d6873;
}

.library-card-status-ready .library-card-status-dot {
  background: #2e7d59;
}

.library-card-status-published .library-card-status-dot {
  background: #1f9d64;
}

.library-card-status-draft .library-card-status-dot {
  background: #6d7580;
}

.library-card-status-needs .library-card-status-dot {
  background: #a15f1b;
}

.library-card-status-worktable .library-card-status-dot {
  background: #6f5b39;
}

.library-workspace-grid.library-mode-list {
  --library-list-thumb-size: clamp(5.4rem, 10vw, 6.2rem);
  --library-list-row-min-height: clamp(5.5rem, 9vw, 5.9rem);
  --library-list-status-column: minmax(7.25rem, auto);
  grid-template-columns: 1fr;
  gap: 0.35rem;
}

.library-workspace-grid.library-mode-list.library-grid-density-compact {
  --library-list-thumb-size: clamp(4.4rem, 8vw, 4.8rem);
  --library-list-row-min-height: clamp(4.65rem, 7.5vw, 5rem);
}

.library-workspace-grid.library-mode-list.library-grid-density-snug {
  --library-list-thumb-size: clamp(4.9rem, 9vw, 5.4rem);
  --library-list-row-min-height: clamp(5.05rem, 8vw, 5.35rem);
}

.library-workspace-grid.library-mode-list.library-grid-density-standard {
  --library-list-thumb-size: clamp(5.4rem, 10vw, 6.2rem);
  --library-list-row-min-height: clamp(5.5rem, 9vw, 5.9rem);
}

.library-workspace-grid.library-mode-list.library-grid-density-spacious {
  --library-list-thumb-size: clamp(6rem, 12vw, 7.4rem);
  --library-list-row-min-height: clamp(5.9rem, 10vw, 6.65rem);
}

.library-workspace-grid.library-mode-list.library-grid-density-comfortable {
  --library-list-thumb-size: clamp(7.2rem, 15vw, 10.4rem);
  --library-list-row-min-height: clamp(6.85rem, 12vw, 8.55rem);
}

.library-mode-list .library-workspace-card {
  display: grid;
  grid-template-columns: var(--library-list-thumb-size) minmax(0, 1fr) var(--library-list-status-column);
  align-items: center;
  gap: 0.6rem;
  min-height: var(--library-list-row-min-height);
  padding: 0.45rem 0.6rem 0.45rem 2.25rem;
}

.library-mode-list .library-card-toolbar {
  inset: 50% auto auto 0.65rem;
  transform: translateY(-50%);
}

.library-mode-list .library-card-selection-surface {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: var(--library-list-thumb-size) minmax(0, 1fr) var(--library-list-status-column);
  align-items: center;
  gap: 0.6rem;
}

.library-mode-list .library-card-selection-surface > img {
  grid-column: 1;
  grid-row: 1 / span 2;
  aspect-ratio: 4 / 3;
  width: 100%;
}

.library-mode-list .library-card-selection-surface > strong {
  grid-column: 2;
  padding: 0;
}

.library-mode-list .library-card-footer {
  grid-column: 3;
  grid-row: 1 / span 2;
  padding: 0;
  justify-self: end;
  padding-right: 2.2rem;
}

.library-card-actions-menu {
  position: absolute;
  right: 0.56rem;
  bottom: 0.55rem;
  z-index: 4;
}

.library-card-actions-menu[open] {
  z-index: 8;
}

.library-card-actions-menu summary {
  list-style: none;
}

.library-card-actions-menu summary::-webkit-details-marker {
  display: none;
}

.library-card-actions-trigger {
  flex: 0 0 auto;
  width: 1.35rem;
  height: 1.15rem;
  border: 0;
  background: transparent;
  color: var(--text);
  font: inherit;
  font-weight: 700;
  line-height: 1;
  display: inline-grid;
  place-items: center;
  opacity: 1;
  cursor: pointer;
  transition: border-color 120ms ease, background 120ms ease;
}

.library-card-actions-trigger:hover,
.library-card-actions-trigger:focus-visible {
  background: transparent;
  color: #000;
}

.library-card-actions-popover {
  position: absolute;
  right: 0;
  bottom: calc(100% + 0.35rem);
  min-width: 10.5rem;
  display: grid;
  gap: 0.08rem;
  padding: 0.35rem;
  border: 1px solid #d7dade;
  background: #fff;
  box-shadow: 0 0.7rem 1.8rem rgba(17, 17, 17, 0.18);
}

.library-card-actions-popover form {
  margin: 0;
}

.library-card-action-item,
.library-card-actions-popover .library-card-action-item {
  width: 100%;
  min-height: 1.85rem;
  display: flex;
  align-items: center;
  border: 0;
  background: transparent;
  color: var(--text);
  padding: 0.36rem 0.5rem;
  text-align: left;
  text-decoration: none;
  font: inherit;
  font-size: 0.8rem;
  line-height: 1.2;
  cursor: pointer;
}

.library-card-action-item:hover,
.library-card-action-item:focus-visible {
  background: #f2f4f5;
  color: var(--text);
}

.library-card-action-danger {
  color: #9a2f24;
}

.library-mode-list .library-card-actions-menu {
  right: 0.65rem;
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
}

.library-overflow-icon {
  width: 1rem;
  height: 1rem;
}

.library-loupe-open {
  overflow: hidden;
}

.library-loupe[hidden],
.library-loupe-item[hidden] {
  display: none;
}

.library-loupe {
  position: fixed;
  inset: 0;
  z-index: 40;
  display: grid;
  place-items: center;
  padding: clamp(0.75rem, 2.5vw, 2rem);
}

.library-loupe-backdrop {
  position: fixed;
  inset: 0;
  border: 0;
  background: rgba(7, 7, 7, 0.88);
  cursor: zoom-out;
}

.library-loupe-panel {
  position: relative;
  z-index: 1;
  width: min(1280px, 100%);
  height: min(92vh, calc(100vh - 1.5rem));
  min-height: 0;
  display: grid;
  background: #101010;
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.36);
}

.library-loupe-item {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(17rem, 22rem);
  margin: 0;
}

.library-loupe-media {
  min-width: 0;
  min-height: 0;
  display: grid;
  place-items: center;
  padding: clamp(0.75rem, 2vw, 1.35rem);
  background: #101010;
  cursor: zoom-out;
}

.library-loupe-media img {
  width: auto;
  max-width: 100%;
  max-height: calc(92vh - 3rem);
  object-fit: contain;
  margin: 0;
  background: transparent;
}

.library-loupe-info {
  min-width: 0;
  min-height: 0;
  overflow: auto;
  display: grid;
  align-content: start;
  gap: 0.8rem;
  padding: clamp(1rem, 2vw, 1.4rem);
  background: #fff;
}

.library-loupe-info h3 {
  margin: 0;
  font-size: clamp(1.25rem, 2vw, 1.65rem);
  line-height: 1.08;
}

.library-loupe-full-size-link {
  justify-self: start;
  color: var(--text);
  font-size: 0.86rem;
  font-weight: 700;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.18em;
}

.library-loupe-info .metadata-list {
  margin-top: 0;
}

.library-loupe-info .metadata-list div,
.metadata-list.library-inspector-list div {
  grid-template-columns: 1fr;
  gap: 0.12rem;
}

.library-loupe-info .metadata-list dt,
.library-loupe-info .metadata-list dd,
.metadata-list.library-inspector-list dt,
.metadata-list.library-inspector-list dd {
  min-width: 0;
  overflow-wrap: anywhere;
}

.library-loupe-close,
.library-loupe-nav {
  position: absolute;
  z-index: 3;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.26);
  background: rgba(255, 255, 255, 0.92);
  color: #101010;
  cursor: pointer;
  box-shadow: 0 0.35rem 1rem rgba(0, 0, 0, 0.22);
}

.library-loupe-close {
  top: 0.8rem;
  right: 0.8rem;
  width: 2.15rem;
  height: 2.15rem;
}

.library-loupe-nav {
  top: 50%;
  width: 2.35rem;
  height: 3.25rem;
  transform: translateY(-50%);
}

.library-loupe-prev {
  left: 0.8rem;
}

.library-loupe-next {
  right: calc(min(22rem, 28vw) + 0.8rem);
}

.library-inspector-panel[hidden] {
  display: none;
}

.library-inspector-panel {
  display: grid;
  gap: 0.5rem;
  scroll-margin-top: 5.5rem;
}

.library-inspector-panel:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 3px;
}

.library-inspector-panel h4 {
  margin: 0;
  font-size: 0.86rem;
  line-height: 1.2;
}

.library-inspector-preview {
  margin: 0;
  background: #eef1f4;
  aspect-ratio: 4 / 3;
  max-height: min(9.5rem, 24vh);
  overflow: hidden;
}

.library-inspector-preview img {
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: cover;
}

.library-inspector-list {
  margin: 0;
  gap: 0.25rem;
  font-size: 0.78rem;
}

.library-inspector-row-list {
  gap: 0.18rem;
}

.metadata-list.library-inspector-row-list .library-inspector-row {
  padding: 0.36rem 0;
  border-bottom: 1px solid rgba(42, 48, 55, 0.1);
}

.metadata-list.library-inspector-row-list .library-inspector-row:last-child {
  border-bottom: 0;
}

.library-inspector-row.is-readonly dt {
  color: #6d7279;
}

.library-inspector-row-value {
  min-width: 0;
}

.library-inspector-row-value.is-missing {
  color: var(--muted);
  font-style: italic;
}

.library-inspector-row-editor {
  margin-top: 0.18rem;
}

.library-inspector-row-editor > summary {
  float: right;
  display: grid;
  place-items: center;
  width: 1.55rem;
  height: 1.55rem;
  margin-left: 0.35rem;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--accent);
  cursor: pointer;
  list-style: none;
}

.library-inspector-row-editor > summary::-webkit-details-marker {
  display: none;
}

.library-inspector-row-editor[open] > summary {
  margin-bottom: 0.32rem;
}

.library-row-edit-icon {
  width: 0.9rem;
  height: 0.9rem;
}

.library-inspector-row-editor form {
  clear: both;
  display: grid;
  gap: 0.35rem;
  margin-top: 0.35rem;
}

.library-inspector-row-editor label {
  color: #2d343d;
  font-size: 0.72rem;
  font-weight: 700;
}

.library-inspector-row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
}

.library-inspector-checkbox {
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

.library-inspector-full-edit-link {
  color: var(--accent);
  font-size: 0.76rem;
  font-weight: 700;
}

.library-inspector .status-pill {
  margin: 0;
  padding: 0.1rem 0.34rem;
  font-size: 0.72rem;
}

.library-inspector-actions form {
  display: grid;
  gap: 0.32rem;
}

.library-inspector-actions {
  gap: 0.35rem;
}

.library-inspector-actions select {
  width: 100%;
}

.library-inspector .helper {
  font-size: 0.74rem;
  line-height: 1.3;
}

.library-inspector-selection {
  display: grid;
  gap: 0.5rem;
  border-bottom: 1px solid var(--line);
  padding-bottom: 0.65rem;
  margin-bottom: 0.65rem;
}

.library-inspector-selection[hidden] {
  display: none;
}

.library-inspector-selection h4 {
  margin: 0;
}

.library-inspector-selection-heading {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 0.65rem;
}

.library-inspector-selection-heading .library-clear-selection {
  flex: 0 0 auto;
  min-height: 1.8rem;
  padding: 0.22rem 0;
  border: 0;
  background: transparent;
  color: var(--accent);
  font-size: 0.75rem;
}

.library-inspector-selection-preview {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.25rem;
  min-height: 3.6rem;
}

.library-inspector-selection-preview img,
.library-inspector-selection-preview .library-selection-preview-empty {
  width: 100%;
  aspect-ratio: 4 / 3;
  border: 1px solid var(--line);
  background: #eef1f4;
  object-fit: cover;
}

.library-inspector-selection-preview .library-selection-preview-count {
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--muted);
  font-size: 0.72rem;
  text-align: center;
}

.library-inspector-quick-edit {
  border-top: 1px solid var(--line);
  padding-top: 0.45rem;
}

.library-inspector-quick-edit summary {
  cursor: pointer;
  font-weight: 700;
  font-size: 0.8rem;
}

.library-inspector-quick-edit summary span {
  color: var(--muted);
  font-weight: 500;
}

.library-inspector-batch-form,
.library-inspector-batch-fields,
.library-inspector-batch-actions {
  display: grid;
  gap: 0.45rem;
}

.library-inspector-batch-form {
  margin-top: 0.55rem;
}

.library-inspector-batch-fields p {
  margin: 0;
}

.library-inspector-batch-fields label {
  display: block;
  margin-bottom: 0.18rem;
  font-size: 0.72rem;
  font-weight: 700;
}

.library-batch-clear-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.3rem 0.5rem;
  margin: 0;
  padding: 0.55rem 0 0;
  border: 0;
  border-top: 1px solid var(--line);
}

.library-batch-clear-fields legend {
  grid-column: 1 / -1;
  padding: 0 0 0.15rem;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 700;
}

.library-batch-clear-fields label {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  min-width: 0;
  color: var(--muted);
  font-size: 0.72rem;
  line-height: 1.2;
}

.library-batch-clear-fields input {
  flex: 0 0 auto;
}

.library-inspector-batch-actions {
  position: sticky;
  bottom: -0.85rem;
  margin-top: 0.1rem;
  padding: 0.55rem 0 0.1rem;
  background: linear-gradient(180deg, rgb(247 248 249 / 0%), #f7f8f9 28%);
}

.library-inspector-selection-actions {
  display: grid;
  gap: 0.45rem;
}

.library-inspector-selection p {
  margin: 0;
}

.library-workspace.has-batch-selection .library-inspector-panel {
  display: none;
}

@media (max-width: 1180px) {
  .library-workspace {
    grid-template-columns: minmax(13rem, 15rem) minmax(0, 1fr) minmax(13.5rem, 15.5rem);
  }
}

@media (max-width: 920px) {
  .library-workspace {
    grid-template-columns: minmax(11rem, 15rem) minmax(0, 1fr);
  }

  .library-inspector {
    grid-column: 1 / -1;
    position: static;
    max-height: none;
    border-left: 0;
    border-top: 1px solid var(--line);
  }

  .library-command-row {
    grid-template-columns: minmax(0, 1fr) auto minmax(8rem, 0.75fr);
  }

  .library-mode-toggle,
  .batch-metadata-panel {
    grid-row: 2;
  }
}

@media (max-width: 760px) {
  .ops-control {
    grid-template-columns: 1fr;
  }

  .library-page-shell {
    width: 100%;
  }

  .library-workspace {
    grid-template-columns: 1fr;
  }

  .library-workspace-nav {
    position: static;
    max-height: none;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .library-workspace-grid {
    grid-template-columns: repeat(auto-fill, minmax(7.2rem, 1fr));
  }

  .library-gallery-surface {
    padding: 0.9rem;
  }

  .library-workspace-toolbar,
  .library-card-toolbar {
    align-items: stretch;
  }

  .library-toolbar-actions {
    justify-content: flex-start;
  }

  .library-selection-bar {
    align-items: stretch;
  }

  .library-selection-bar .batch-selection-status {
    text-align: left;
  }

  .library-search input[type="search"] {
    min-width: 0;
    width: 100%;
  }

  .library-search a.button {
    grid-column: 1 / -1;
    justify-self: start;
  }
}

.library-search {
  display: grid;
  gap: 0.45rem;
  margin-bottom: 0.75rem;
}

.library-search div {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.library-search input[type="search"] {
  flex: 1 1 260px;
}

.library-context-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: center;
  justify-content: space-between;
  margin: 0.5rem 0 0.85rem;
}

.library-context-summary p {
  margin: 0;
}

.library-defaults-panel {
  border: 1px solid var(--line);
  background: #fff;
  padding: 0;
  margin: 0.75rem 0;
  font-size: 0.8rem;
  scroll-margin-top: 5.5rem;
  overflow: visible;
  position: relative;
}

.library-workspace-nav .library-defaults-panel {
  flex: 0 0 auto;
  margin: 0.65rem 0 0.7rem;
}

.library-workspace-nav .library-defaults-panel[open] {
  z-index: 5;
}

.batch-metadata-panel {
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  scroll-margin-top: 5.5rem;
}

.batch-metadata-panel[open] {
  border: 0;
  background: transparent;
  padding: 0;
}

.batch-metadata-panel summary,
.library-defaults-panel summary,
.image-card-metadata summary {
  cursor: pointer;
  font-weight: 700;
}

.library-defaults-panel summary {
  position: sticky;
  top: 0;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.1rem 0.55rem;
  align-items: center;
  min-height: 2.35rem;
  padding: 0.52rem 0.62rem;
  background: #fff;
  list-style: none;
}

.library-defaults-panel summary::-webkit-details-marker {
  display: none;
}

.library-defaults-panel summary::after {
  content: "";
  width: 0.46rem;
  height: 0.46rem;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-0.08rem);
}

.library-defaults-panel[open] summary {
  box-shadow: inset 0 0 0 1px #c7ced6;
}

.library-defaults-panel[open] summary::after {
  transform: rotate(225deg) translate(-0.02rem, -0.02rem);
}

.library-defaults-summary-main,
.library-defaults-summary-detail {
  min-width: 0;
}

.library-defaults-summary-main {
  font-size: 0.82rem;
}

.library-defaults-summary-detail {
  grid-column: 1 / -1;
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 600;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.batch-metadata-panel > summary {
  display: inline-flex;
  align-items: center;
  min-height: 2.15rem;
  border: 1px solid var(--line);
  background: #fff;
  padding: 0.36rem 0.6rem;
}

.batch-metadata-panel[open] > summary {
  margin-bottom: 0;
}

.batch-metadata-form,
.library-defaults-form {
  margin-top: 0.8rem;
}

.library-defaults-form {
  display: grid;
  gap: 0.55rem;
  min-height: 0;
  margin-top: 0;
  padding: 0.62rem;
  overflow: auto;
}

.library-workspace-nav .library-defaults-panel[open] .library-defaults-form {
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(100% + 0.35rem);
  max-height: min(26rem, calc(100vh - 12rem));
  border: 1px solid var(--line);
  background: #fff;
  box-shadow: 0 0.8rem 1.8rem rgba(17, 17, 17, 0.14);
}

.library-defaults-form > .helper {
  margin: 0;
  border: 1px solid #e1e5e8;
  background: #f7f8f9;
  padding: 0.5rem 0.55rem;
}

.library-defaults-fields {
  grid-template-columns: minmax(0, 1fr);
  gap: 0.52rem;
  margin-bottom: 0;
}

.library-defaults-fields p {
  display: grid;
  gap: 0.22rem;
}

.library-defaults-fields label {
  font-size: 0.72rem;
  font-weight: 700;
}

.library-defaults-actions {
  position: sticky;
  bottom: -0.62rem;
  padding: 0.45rem 0 0.05rem;
  background: linear-gradient(180deg, rgb(255 255 255 / 0%), #fff 35%);
}

.library-defaults-actions .button {
  width: 100%;
}

.batch-selection-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid var(--line);
  padding-bottom: 0.75rem;
  margin-bottom: 0.75rem;
}

.batch-selection-status {
  margin: 0;
}

.batch-selection-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.batch-selection-controls button:disabled {
  cursor: not-allowed;
  opacity: 0.58;
}

.batch-fields {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 0.55rem;
  margin-bottom: 0.6rem;
}

.batch-fields p {
  margin: 0;
}

.batch-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  align-items: end;
}

.batch-actions select {
  min-width: min(16rem, 100%);
}

.section-title-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: space-between;
  align-items: start;
}

.comparison-list {
  display: grid;
  gap: 1rem;
}

.comparison-pair {
  border: 1px solid var(--line);
  background: var(--panel);
  padding: 1rem;
}

.comparison-pair .compact-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  margin-bottom: 0.75rem;
}

.image-card.comparison-image-card img {
  width: 100%;
  height: auto;
  max-height: min(34rem, 70vh);
  aspect-ratio: auto;
  object-fit: contain;
  background: #f6f5f2;
}

.messages {
  position: fixed;
  top: calc(1rem + env(safe-area-inset-top, 0px));
  right: calc(1rem + env(safe-area-inset-right, 0px));
  z-index: 80;
  display: grid;
  gap: 0.55rem;
  width: min(24rem, calc(100vw - 2rem));
  pointer-events: none;
}

.message,
.empty-panel,
.panel {
  background: var(--panel);
  border: 1px solid var(--line);
  padding: 1rem;
}

.messages .message {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 0.75rem;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 0.75rem 2rem rgba(18, 18, 16, 0.12);
  padding: 0.85rem;
  pointer-events: auto;
}

.message.success {
  border-color: var(--accent);
}

.message.info {
  border-color: rgba(83, 78, 64, 0.34);
}

.toast-message {
  animation: toast-enter 180ms ease-out both;
}

.toast-message.is-dismissing {
  animation: toast-exit 180ms ease-in both;
}

.toast-message-close {
  appearance: none;
  display: inline-grid;
  flex: 0 0 1.55rem;
  width: 1.55rem;
  height: 1.55rem;
  place-items: center;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--muted);
  cursor: pointer;
}

.toast-message-close:hover,
.toast-message-close:focus-visible {
  color: var(--text);
  border-color: var(--text);
}

.toast-message-close .icon {
  width: 0.9rem;
  height: 0.9rem;
}

.status-pill {
  justify-self: start;
  border: 1px solid var(--line);
  padding: 0.16rem 0.42rem;
  background: var(--surface);
  color: var(--accent);
  font-size: 0.82rem;
  font-weight: 700;
}

.message.error,
.message.warning {
  border-color: var(--accent-2);
}

@keyframes toast-enter {
  from {
    opacity: 0;
    transform: translateY(-0.35rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes toast-exit {
  to {
    opacity: 0;
    transform: translateY(-0.35rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .toast-message,
  .toast-message.is-dismissing {
    animation: none;
  }
}

.ops-dashboard {
  max-width: 1180px;
}

.ops-summary-grid,
.ops-signal-list,
.ops-runtime-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  gap: 0.9rem;
  margin: 1.5rem 0;
}

.ops-card,
.ops-signal {
  min-width: 0;
  background: var(--panel);
  border: 1px solid var(--line);
  border-top: 4px solid #9b978c;
  padding: 1rem;
}

.ops-card.ok,
.ops-signal.ok {
  border-top-color: #547d60;
}

.ops-card.attention,
.ops-signal.attention {
  border-top-color: #c58f32;
}

.ops-card.warning {
  border-top-color: var(--accent-2);
}

.ops-card-heading {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 0.75rem;
}

.ops-card h2,
.ops-card h3,
.ops-signal h3 {
  margin: 0;
  font-size: 1rem;
}

.ops-card-state {
  flex: 0 0 auto;
  border: 1px solid var(--line);
  padding: 0.14rem 0.42rem;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.ops-card-value {
  display: grid;
  gap: 0.1rem;
  margin: 0.75rem 0;
}

.ops-card-value strong {
  overflow-wrap: anywhere;
  font-size: clamp(1.8rem, 5vw, 2.7rem);
  line-height: 1;
}

.ops-card-value span,
.ops-card li,
.ops-signal p,
.ops-signal small {
  color: var(--muted);
}

.ops-card ul {
  display: grid;
  gap: 0.25rem;
  margin: 0 0 0.9rem;
  padding-left: 1.1rem;
}

.ops-card .button {
  width: max-content;
  max-width: 100%;
}

.ops-media-accounting-grid {
  grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr));
}

.ops-runtime-grid {
  grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
}

.ops-runtime-wide {
  overflow-x: auto;
}

.ops-kind-table,
.ops-service-table {
  display: grid;
  gap: 0;
  border: 1px solid var(--line);
  font-size: 0.78rem;
}

.ops-kind-table > div,
.ops-service-table > div {
  display: grid;
  grid-template-columns: minmax(5rem, 1fr) minmax(3rem, 0.6fr) minmax(5rem, 0.8fr);
  gap: 0.4rem;
  padding: 0.28rem 0.4rem;
}

.ops-service-table > div {
  grid-template-columns: minmax(7rem, 1fr) minmax(9rem, 1fr) minmax(4rem, 0.6fr) minmax(7rem, 1fr);
}

.ops-kind-table > div + div,
.ops-service-table > div + div {
  border-top: 1px solid var(--line);
}

.ops-kind-table-heading {
  background: #f7f4ef;
  color: var(--text);
  font-weight: 700;
}

.ops-signal {
  display: grid;
  gap: 0.25rem;
}

.ops-signal p,
.ops-signal small {
  margin: 0;
}

.ops-control-list {
  display: grid;
  gap: 0.75rem;
  margin: 1.25rem 0;
}

.ops-control {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(18rem, 0.9fr);
  gap: 1rem;
  align-items: start;
  min-width: 0;
  padding: 1rem;
  background: var(--panel);
  border: 1px solid var(--line);
}

.ops-control h3,
.ops-control p {
  margin: 0;
}

.ops-control h3 {
  font-size: 1rem;
}

.ops-control p,
.ops-control dt {
  color: var(--muted);
}

.ops-control dl {
  display: grid;
  gap: 0.45rem;
  margin: 0;
}

.ops-control dl div {
  display: grid;
  grid-template-columns: 5rem minmax(0, 1fr);
  gap: 0.75rem;
}

.ops-control dt,
.ops-control dd {
  min-width: 0;
}

.ops-control dt {
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
}

.ops-control dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.hero {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 42rem);
  min-height: calc(100vh - 4.75rem);
  padding: clamp(5rem, 10vw, 9rem) clamp(1rem, 4vw, 3rem) clamp(3.5rem, 8vw, 6rem);
  align-items: end;
  overflow: hidden;
  background: #141414;
  color: #fff;
}

@supports (min-height: 100svh) {
  .hero {
    min-height: calc(100svh - 4.75rem);
  }
}

.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(8, 8, 8, 0.78), rgba(8, 8, 8, 0.4) 48%, rgba(8, 8, 8, 0.12)),
    linear-gradient(0deg, rgba(8, 8, 8, 0.58), rgba(8, 8, 8, 0) 46%);
}

.hero .hero-backdrop {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  column-count: initial;
  column-gap: normal;
  width: 100%;
  height: 100%;
  min-height: 0;
  margin: 0;
  align-self: stretch;
  overflow: hidden;
  background: #141414;
  border: 0;
  color: inherit;
  text-decoration: none;
}

.hero .hero-backdrop:focus-visible {
  outline-offset: -0.8rem;
}

.hero-backdrop-image {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  aspect-ratio: auto;
}

.hero-copy {
  position: relative;
  z-index: 2;
  max-width: 42rem;
}

.hero h1 {
  font-size: clamp(4rem, 14vw, 12rem);
  line-height: 0.85;
  margin: 0 0 0.7rem;
}

.hero-subtext,
.eyebrow,
.helper {
  color: var(--muted);
}

.hero .hero-subtext,
.hero .eyebrow {
  color: rgba(255, 255, 255, 0.78);
}

.hero .button {
  border-color: #fff;
  background: #fff;
  color: var(--text);
}

.hero .button.secondary {
  border-color: rgba(255, 255, 255, 0.72);
  background: rgba(20, 20, 20, 0.18);
  color: #fff;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

.eyebrow {
  text-transform: uppercase;
  font-size: 0.76rem;
  letter-spacing: 0;
}
.profile-category-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.profile-category-chips span {
  border: 1px solid var(--border);
  padding: 0.16rem 0.42rem;
  background: var(--surface);
}

.profile-identity-line {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.profile-signup-badge {
  display: inline-flex;
  align-items: center;
  min-height: 1.45rem;
  border: 1px solid var(--line);
  padding: 0.12rem 0.42rem;
  background: #fff;
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1;
}

.profile-account-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 0.7rem 0 0;
}

.profile-account-badge {
  display: inline-flex;
  align-items: center;
  min-height: 1.55rem;
  border: 1px solid var(--line);
  padding: 0.14rem 0.5rem;
  background: var(--panel);
  color: var(--accent);
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1;
}

.profile-badge-controls {
  display: grid;
  gap: 0.85rem;
}

.profile-badge-control {
  display: grid;
  margin: 0;
}

.profile-badge-control .helper {
  grid-column: 2;
  margin: 0;
}

.manifesto-line,
.statement {
  font-size: 1.2rem;
}

.preview-grid,
.masonry,
.compact-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 0.75rem;
}

.preview-grid {
  display: block;
  column-count: 3;
  column-gap: 0.75rem;
  align-self: start;
}

.work-tile {
  position: relative;
  min-height: 160px;
  background: #eee;
  overflow: hidden;
  text-decoration: none;
  border: 1px solid var(--line);
}

.preview-grid .work-tile {
  display: block;
  break-inside: avoid;
  min-height: 0;
  margin: 0 0 0.75rem;
}

.work-tile img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 4 / 5;
}

.preview-grid .work-tile:nth-child(3n + 1) img {
  aspect-ratio: 4 / 5;
}

.preview-grid .work-tile:nth-child(3n + 2) img {
  aspect-ratio: 1 / 1;
}

.preview-grid .work-tile:nth-child(3n + 3) img {
  aspect-ratio: 3 / 4;
}

.work-tile span {
  position: absolute;
  left: 0.6rem;
  bottom: 0.6rem;
  background: rgba(20, 20, 20, 0.78);
  color: #fff;
  padding: 0.18rem 0.38rem;
  font-size: 0.75rem;
}

.page-shell,
.text-section,
.detail-shell {
  width: min(1120px, calc(100% - 2rem));
  margin: 3rem auto;
}

.narrow,
.form-shell {
  width: min(680px, calc(100% - 2rem));
}

.form-shell {
  margin: 3rem auto;
  background: var(--panel);
  border: 1px solid var(--line);
  padding: clamp(1rem, 4vw, 2rem);
}

.form-shell.wide {
  width: min(960px, calc(100% - 2rem));
}

.profile-editor-shell {
  width: min(1040px, calc(100% - 2rem));
  margin: 2rem auto;
}

.profile-editor-header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.85rem;
}

.profile-editor-header h1,
.profile-editor-header p {
  margin: 0;
}

.profile-editor-header-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.45rem;
}

.profile-editor-layout {
  display: grid;
  grid-template-columns: minmax(10rem, 13rem) minmax(0, 1fr) minmax(12rem, 15rem);
  gap: 1rem;
  align-items: start;
}

.profile-page-editor-shell {
  width: min(960px, calc(100% - 2rem));
}

.profile-page-editor-shell .profile-editor-header {
  display: grid;
  gap: 0.35rem;
  align-items: start;
  justify-content: start;
  max-width: 46rem;
}

.profile-page-editor-shell .profile-editor-header h1 {
  font-size: clamp(2rem, 4vw, 2.45rem);
  line-height: 1.08;
}

.profile-page-editor-shell .profile-editor-header .helper {
  max-width: 34rem;
  font-size: 1rem;
}

.profile-page-editor-layout {
  grid-template-columns: minmax(0, 1fr);
  gap: 0.85rem;
  width: min(100%, 72rem);
  margin-inline: auto;
}

.profile-editor-layout--compact {
  grid-template-columns: minmax(0, 1fr) minmax(10rem, 13rem);
  gap: 0.85rem;
}

.profile-editor-nav,
.profile-editor-aside,
.profile-editor-form {
  min-width: 0;
  border: 1px solid var(--line);
  background: var(--panel);
}

.profile-editor-nav,
.profile-editor-aside {
  position: sticky;
  top: 1rem;
  display: grid;
  gap: 0.35rem;
  padding: 0.85rem;
}

.profile-editor-nav a {
  color: var(--text);
  text-decoration: none;
}

.profile-editor-nav a.active {
  font-weight: 700;
}

.profile-editor-nav a:hover,
.profile-editor-nav a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 0.16em;
}

.profile-page-editor-nav {
  position: static;
  display: flex;
  flex-wrap: nowrap;
  gap: 0.35rem;
  overflow-x: auto;
  padding: 0;
  border: 0;
  background: transparent;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.profile-page-editor-nav::-webkit-scrollbar {
  display: none;
}

.profile-page-editor-nav a {
  flex: 0 0 auto;
  border: 1px solid transparent;
  padding: 0.24rem 0.08rem;
  color: var(--muted);
  font-size: 0.92rem;
}

.profile-page-editor-nav a.active {
  color: var(--text);
}

.profile-editor-aside h2 {
  margin: 0;
  font-size: 0.9rem;
  text-transform: uppercase;
  color: var(--muted);
}

.profile-editor-aside .button {
  width: 100%;
}

.profile-editor-form {
  padding: clamp(1rem, 3vw, 1.5rem);
}

.profile-page-editor-form {
  width: min(100%, 46rem);
  margin-inline: auto;
  border: 0;
  background: transparent;
  padding: clamp(1.2rem, 3.6vw, 2.8rem) 0 0;
}

.profile-page-editor-form .profile-form-section:first-of-type {
  margin: 0;
  padding: 0;
}

.profile-page-editor-form .form-field:first-of-type {
  margin-top: 0.15rem;
}

.profile-page-editor-property--enabled .form-field {
  display: grid;
  grid-template-columns: minmax(7rem, 10rem) minmax(0, 1fr) auto;
  gap: 0.22rem 0.85rem;
  align-items: center;
  margin: 0.05rem 0 1.25rem;
  padding-block: 0.58rem;
  border-block: 1px solid rgba(69, 66, 59, 0.14);
}

.profile-page-editor-property--enabled label {
  grid-column: 1;
  margin: 0;
  color: var(--muted);
  font-size: 0.9rem;
  font-weight: 600;
}

.profile-page-editor-property--enabled input[type="checkbox"] {
  appearance: none;
  grid-column: 3;
  grid-row: 1 / span 2;
  justify-self: end;
  display: inline-grid;
  align-items: center;
  width: 2.28rem;
  height: 1.24rem;
  border: 1px solid rgba(69, 66, 59, 0.26);
  border-radius: 999px;
  background: rgba(69, 66, 59, 0.12);
  padding: 0.12rem;
  cursor: pointer;
  transition:
    background-color 140ms ease,
    border-color 140ms ease,
    box-shadow 140ms ease;
}

.profile-page-editor-property--enabled input[type="checkbox"]::before {
  content: "";
  display: block;
  width: 0.84rem;
  height: 0.84rem;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0.12rem 0.28rem rgba(24, 23, 21, 0.18);
  transform: translateX(0);
  transition: transform 140ms ease;
}

.profile-page-editor-property--enabled input[type="checkbox"]:checked {
  border-color: rgba(69, 66, 59, 0.82);
  background: var(--text);
}

.profile-page-editor-property--enabled input[type="checkbox"]:checked::before {
  transform: translateX(1.02rem);
}

.profile-page-editor-property--enabled input[type="checkbox"]:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 3px;
}

.profile-page-editor-property--enabled .helper {
  grid-column: 2;
  margin: 0;
  color: var(--muted);
  font-size: 0.92rem;
  line-height: 1.35;
}

.profile-editor-form--compact {
  display: grid;
  gap: 0.75rem;
  padding: 0;
  border: 0;
  background: transparent;
}

.profile-editor-nav--compact {
  position: static;
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  padding: 0.55rem;
}

.profile-editor-nav--compact a {
  border: 1px solid var(--line);
  padding: 0.22rem 0.5rem;
  background: #fff;
  font-size: 0.88rem;
}

.profile-editor-form .profile-form-section:first-of-type {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.profile-editor-submit-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: center;
  padding-top: 0.75rem;
  border-top: 1px solid var(--line);
}

.profile-page-editor-form .profile-editor-submit-row {
  gap: 0.45rem;
  align-items: center;
  justify-content: flex-start;
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top-color: rgba(69, 66, 59, 0.14);
}

.profile-page-save-status {
  flex: 1 0 100%;
  margin: 0 0 0.1rem;
}

.profile-page-editor-form .profile-editor-submit-row .button {
  min-height: 2.3rem;
  padding: 0.44rem 0.78rem;
  font-size: 0.9rem;
  line-height: 1.2;
}

.profile-page-editor-form .profile-editor-submit-row .button.secondary {
  border-color: transparent;
  background: transparent;
  color: rgba(69, 66, 59, 0.78);
}

.profile-page-editor-form .profile-editor-submit-row .button.secondary:hover,
.profile-page-editor-form .profile-editor-submit-row .button.secondary:focus-visible {
  border-color: rgba(69, 66, 59, 0.18);
  background: #f7f6f3;
  color: var(--text);
}

.profile-page-card-list {
  display: grid;
  gap: 0.75rem;
}

.profile-page-edit-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.85rem;
  align-items: center;
  padding: 0.8rem;
  border: 1px solid var(--line);
  background: #fff;
}

.profile-page-edit-card h3,
.profile-page-edit-card p {
  margin: 0;
}

.profile-page-edit-card p {
  color: var(--muted);
  font-size: 0.88rem;
}

.profile-editor-form--compact .profile-form-section {
  margin: 0;
  padding: 0.9rem;
  border: 1px solid var(--line);
  background: var(--panel);
}

.profile-form-section-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.55rem;
}

.profile-form-section-head h2,
.profile-form-section-head p {
  margin: 0;
}

.profile-form-section-head p {
  color: var(--muted);
  font-size: 0.86rem;
  line-height: 1.35;
}

.profile-basics-grid {
  display: grid;
  grid-template-columns: minmax(8rem, 11rem) minmax(0, 1fr);
  gap: 0.85rem;
  align-items: start;
}

.profile-basics-fields {
  display: grid;
  gap: 0.65rem;
}

.profile-editor-form--compact .profile-image-picker-current {
  grid-template-columns: 1fr;
  gap: 0.55rem;
}

.profile-editor-form--compact .profile-image-current-preview {
  width: min(100%, 8rem);
}

.profile-editor-form--compact .profile-image-picker-actions {
  gap: 0.35rem;
}

.profile-editor-form--compact .profile-basics-fields .form-field,
.profile-editor-form--compact .profile-image-picker-field {
  margin: 0;
}

.profile-work-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem 0.85rem;
}

.profile-work-grid .form-field {
  margin: 0;
}

.profile-work-grid .form-field:nth-child(1),
.profile-work-grid .form-field:nth-child(2) {
  align-content: start;
}

.profile-work-grid .form-field:nth-child(3),
.profile-work-grid .form-field:nth-child(4),
.profile-work-grid .form-field:nth-child(5) {
  grid-column: auto;
}

.profile-work-grid #id_art_categories,
.profile-work-grid #id_discovery_interests {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.profile-work-grid #id_art_categories > div,
.profile-work-grid #id_discovery_interests > div {
  display: contents;
}

.profile-work-grid #id_art_categories label,
.profile-work-grid #id_discovery_interests label {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  border: 1px solid var(--line);
  padding: 0.18rem 0.45rem;
  background: #fff;
  font-size: 0.88rem;
  line-height: 1.2;
}

.profile-page-card-list--compact {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
}

.profile-page-card-list--compact .profile-page-edit-card {
  grid-template-columns: minmax(0, 1fr);
  gap: 0.55rem;
  align-items: stretch;
  padding: 0.65rem;
}

.profile-page-card-list--compact .profile-page-edit-card .button {
  width: 100%;
}

.profile-settings-disclosure {
  border: 1px solid var(--line);
  background: #fff;
}

.profile-settings-disclosure + .profile-settings-disclosure {
  margin-top: 0.55rem;
}

.profile-settings-disclosure summary {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.65rem 0.75rem;
  cursor: pointer;
}

.profile-settings-disclosure summary span {
  font-weight: 700;
}

.profile-settings-disclosure summary small {
  color: var(--muted);
  font-size: 0.78rem;
  text-align: right;
}

.profile-platform-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem 0.75rem;
  padding: 0 0.75rem 0.75rem;
}

.profile-platform-grid .form-field {
  margin: 0;
}

.profile-platform-grid .helper {
  display: none;
}

@media (max-width: 980px) {
  .profile-editor-layout {
    grid-template-columns: 1fr;
  }

  .profile-editor-nav,
  .profile-editor-aside {
    position: static;
  }

  .profile-editor-layout--compact .profile-editor-aside {
    display: none;
  }

  .profile-editor-nav {
    grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr));
  }

  .profile-editor-header {
    align-items: start;
  }

  .profile-basics-grid,
  .profile-work-grid,
  .profile-page-card-list--compact,
  .profile-platform-grid {
    grid-template-columns: 1fr;
  }
}

.profile-form-section {
  margin: 1.5rem 0;
  padding-top: 1.25rem;
  border-top: 1px solid var(--line);
}

.profile-form-section h2,
.profile-link-section h2 {
  margin: 0 0 0.75rem;
  font-size: 0.9rem;
  text-transform: uppercase;
  color: var(--muted);
}

.profile-rich-text-field {
  gap: 0;
}

.profile-rich-toolbar-shell {
  position: relative;
  top: auto;
  z-index: 1;
  margin: 0.6rem 0 0.75rem;
}

.profile-rich-toolbar {
  padding: 0.5rem 0;
}

.profile-rich-text-editor {
  max-width: 46rem;
}

.profile-rich-prosemirror {
  min-height: 9rem;
  max-width: 100%;
  border: 1px solid var(--line);
  padding: 0.75rem;
  background: #fff;
  font-size: 1rem;
}

.profile-rich-prosemirror h2 {
  font-family: var(--serif);
  font-size: 1.55rem;
}

.profile-rich-text-field > .helper {
  margin-top: 0.55rem;
}

.profile-page-editor-form .profile-rich-toolbar-shell {
  display: none;
  width: max-content;
  max-width: 100%;
  margin: 0.45rem 0 0.85rem;
  padding: 0;
  border: 0;
}

.profile-page-editor-form
  .profile-rich-text-field:has(.profile-rich-prosemirror.ProseMirror-focused)
  .profile-rich-toolbar-shell,
.profile-page-editor-form .profile-rich-toolbar-shell:focus-within {
  display: block;
}

.profile-page-editor-form .profile-rich-prosemirror {
  min-height: clamp(15rem, 36vh, 26rem);
  border: 0;
  padding: 0;
  background: transparent;
  font-size: 1.06rem;
  line-height: 1.45;
}

.profile-page-editor-form .profile-rich-text-field > label {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.profile-page-editor-form .profile-rich-toolbar {
  max-width: 100%;
  overflow-x: auto;
  padding: 0.34rem;
  border: 1px solid rgba(69, 66, 59, 0.14);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: none;
  scrollbar-width: none;
}

.profile-page-editor-form .profile-rich-toolbar::-webkit-scrollbar {
  display: none;
}

.profile-page-editor-form .profile-rich-toolbar .project-doc-toolbar-group {
  gap: 0.18rem;
  padding: 0 0.32rem;
  border-right-color: rgba(69, 66, 59, 0.14);
}

.profile-page-editor-form .profile-rich-toolbar .project-doc-toolbar-group-style {
  min-width: auto;
}

.profile-page-editor-form .profile-rich-toolbar .project-doc-style-button {
  width: 2.15rem;
  min-width: 2.15rem;
}

.profile-page-editor-form .profile-rich-text-field > .helper {
  max-width: 40rem;
  color: var(--muted);
}

.profile-page-contact-fields {
  display: grid;
  gap: 0.18rem;
  margin: 1rem 0 0;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(69, 66, 59, 0.12);
}

.profile-page-contact-fields .form-field {
  display: grid;
  grid-template-columns: minmax(7rem, 10rem) minmax(0, 1fr);
  gap: 0.35rem 0.9rem;
  align-items: center;
  margin: 0;
  padding: 0.14rem 0 0.18rem;
  border-bottom: 1px solid rgba(69, 66, 59, 0.14);
}

.profile-page-contact-fields .form-field:focus-within {
  border-bottom-color: rgba(69, 66, 59, 0.34);
}

.profile-page-contact-fields label {
  margin: 0;
  color: var(--muted);
  font-size: 0.88rem;
  font-weight: 600;
}

.profile-page-contact-fields input {
  min-height: 2.05rem;
  border: 0;
  background: transparent;
  padding: 0.28rem 0;
  color: var(--text);
}

.profile-page-contact-fields input:focus {
  outline: 0;
}

.profile-page-contact-fields .errorlist {
  grid-column: 2;
  margin: 0.05rem 0 0;
  font-size: 0.82rem;
}

@media (max-width: 640px) {
  .profile-page-editor-form {
    padding-top: 0.7rem;
  }

  .profile-page-editor-property--enabled .form-field {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.24rem 0.85rem;
  }

  .profile-page-editor-property--enabled label,
  .profile-page-editor-property--enabled .helper {
    grid-column: 1;
  }

  .profile-page-editor-property--enabled input[type="checkbox"] {
    grid-column: 2;
  }

  .profile-page-contact-fields .form-field {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.18rem;
  }

  .profile-page-contact-fields .errorlist {
    grid-column: 1;
  }

  .profile-page-editor-form .profile-editor-submit-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    align-items: center;
    justify-content: flex-start;
  }

  .profile-page-save-status {
    flex: 1 0 100%;
  }

  .profile-page-editor-form .profile-editor-submit-row .button {
    width: auto;
    min-height: 2.18rem;
    padding: 0.48rem 0.58rem;
    font-size: 0.92rem;
  }

  .profile-page-editor-form .profile-editor-submit-row .button:first-of-type {
    flex: 1 0 100%;
    justify-content: center;
    min-height: 2.55rem;
  }

  .profile-page-editor-form .profile-editor-submit-row .button.secondary {
    min-height: 2rem;
    padding: 0.34rem 0.5rem;
  }
}

form p {
  display: grid;
  gap: 0.35rem;
}

.form-field {
  display: grid;
  gap: 0.35rem;
  margin: 1rem 0;
}

.form-field[hidden] {
  display: none;
}

.project-doc-shell {
  width: min(1360px, calc(100% - 2rem));
  margin: 1.35rem auto 2rem;
}

.project-document-form {
  display: grid;
  gap: 1.25rem;
}

.project-doc-editor {
  align-items: start;
  min-width: 0;
}

.project-doc-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.28fr);
  gap: clamp(1rem, 2.5vw, 1.6rem);
  align-items: start;
  min-width: 0;
}

.project-editor-workspace {
  width: min(100%, 72rem);
  margin-inline: auto;
  grid-template-columns: minmax(0, 1fr);
}

.project-doc-page {
  grid-column: 1;
  min-width: 0;
  min-height: 76vh;
  position: relative;
  padding: clamp(1.7rem, 4vw, 3.8rem);
  border: 1px solid var(--line);
  background: #fff;
  box-shadow: 0 0.75rem 2.5rem rgba(20, 20, 20, 0.035);
}

.project-document-form[data-project-document-editor] .project-doc-page {
  border: 0;
  background: transparent;
  box-shadow: none;
  padding-bottom: 5.25rem;
}

.project-doc-title-input,
.project-doc-intro-input,
.project-doc-node-text {
  width: 100%;
  border: 0;
  padding: 0;
  background: transparent;
  resize: none;
  field-sizing: content;
}

.project-doc-title-input {
  margin: 0.35rem 0 0.45rem;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 3.7rem;
  line-height: 1.04;
  min-height: 1.05em;
  overflow: hidden;
  overflow-wrap: anywhere;
}

.project-doc-title-input:focus,
.project-doc-intro-input:focus,
.project-doc-node-text:focus {
  outline-offset: 0.35rem;
}

.project-doc-intro-input {
  min-height: 3rem;
  color: var(--muted);
  font-size: 1.08rem;
}

.project-doc-toolbar-shell {
  position: sticky;
  top: 4.35rem;
  z-index: 4;
  min-width: 0;
  margin: 1.05rem 0 1.75rem;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(8px);
}

.project-doc-toolbar {
  display: flex;
  flex-wrap: nowrap;
  gap: 0;
  align-items: center;
  max-width: 100%;
  overflow-x: auto;
  scrollbar-gutter: stable;
  padding: 0.62rem 0;
  background: transparent;
}

.project-doc-toolbar > * {
  flex: 0 0 auto;
}

.project-doc-toolbar-group {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  min-width: 0;
  padding: 0 0.45rem;
  border-right: 1px solid var(--line);
}

.project-doc-toolbar-group:first-child {
  padding-left: 0;
}

.project-doc-toolbar-group:last-child {
  padding-right: 0;
  border-right: 0;
}

.project-doc-toolbar-group-style {
  min-width: 9.5rem;
}

.project-doc-toolbar-group-insert {
  gap: 0.4rem;
}

.project-doc-toolbar .button {
  gap: 0.35rem;
  min-height: 2.35rem;
  border-color: transparent;
  color: var(--text);
  background: transparent;
}

.project-doc-toolbar .button:hover,
.project-doc-toolbar .button:focus-visible {
  border-color: var(--line);
  background: #f4f3f0;
}

.project-document-form .project-doc-toolbar-shell {
  display: block;
  position: fixed;
  top: auto;
  bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
  left: 50%;
  z-index: 12;
  width: min(calc(100vw - 2rem), 58rem);
  margin: 0;
  border: 0;
  background: transparent;
  backdrop-filter: none;
  pointer-events: none;
  transform: translateX(-50%);
}

.project-document-form[data-project-toolbar-active] .project-doc-toolbar-shell {
  display: block;
}

.project-document-form .project-doc-toolbar-shell:focus-within {
  z-index: 20;
}

.project-document-form .project-doc-toolbar {
  padding: 0.36rem;
  border: 1px solid rgba(69, 66, 59, 0.14);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 0.65rem 1.8rem rgba(24, 23, 21, 0.12);
  scrollbar-gutter: auto;
  pointer-events: auto;
}

.project-document-form
  .project-doc-toolbar-shell[data-project-toolbar-placement="dock"]
  .project-doc-toolbar {
  padding: 0.24rem;
  border-color: rgba(69, 66, 59, 0.12);
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 0.45rem 1.25rem rgba(24, 23, 21, 0.095);
}

.project-document-form
  .project-doc-toolbar-shell[data-project-toolbar-placement="dock"]
  .project-doc-toolbar-group {
  gap: 0.16rem;
  padding: 0 0.32rem;
  border-right-color: rgba(69, 66, 59, 0.12);
}

.project-document-form
  .project-doc-toolbar-shell[data-project-toolbar-placement="dock"]
  .project-doc-toolbar-group-style {
  min-width: auto;
}

.project-document-form
  .project-doc-toolbar-shell[data-project-toolbar-placement="dock"]
  .project-doc-style-button {
  width: 2rem;
  min-width: 2rem;
  height: 2rem;
  min-height: 2rem;
}

.project-document-form
  .project-doc-toolbar-shell[data-project-toolbar-placement="dock"]
  .project-doc-toolbar .button {
  min-height: 2rem;
  font-size: 0.84rem;
}

.project-document-form
  .project-doc-toolbar-shell[data-project-toolbar-placement="dock"]
  .project-doc-format-button {
  min-width: 2rem;
  padding-inline: 0.42rem;
}

.project-document-form
  .project-doc-toolbar-shell[data-project-toolbar-placement="dock"]
  .project-doc-history-button {
  width: 2rem;
  height: 2rem;
}

.project-document-form
  .project-doc-toolbar-shell[data-project-toolbar-placement="dock"]
  .project-doc-toolbar-group[aria-label="History"] {
  display: inline-flex;
  gap: 0.16rem;
}

.project-document-form
  .project-doc-toolbar-shell[data-project-toolbar-placement="dock"]
  .project-doc-toolbar-group-insert {
  display: inline-flex;
  gap: 0.16rem;
}

.project-document-form
  .project-doc-toolbar-shell[data-project-toolbar-placement="dock"]
  .project-doc-toolbar-group-insert
  .project-doc-insert-button {
  width: 2rem;
  min-width: 2rem;
  height: 2rem;
  min-height: 2rem;
  padding: 0;
}

.project-document-form
  .project-doc-toolbar-shell[data-project-toolbar-placement="dock"]
  .project-doc-toolbar-group-insert
  .project-doc-insert-button
  span {
  display: none;
}

.project-document-form .project-doc-link-popover {
  position: absolute;
  right: 0.2rem;
  bottom: calc(100% + 0.5rem);
  left: 0.2rem;
  margin: 0;
  border-radius: 8px;
  pointer-events: auto;
}

.project-doc-validation,
.project-doc-local-draft {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 0.45rem;
  align-items: center;
  margin-bottom: 1rem;
  padding: 0.55rem 0.6rem;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.94);
}

.project-doc-validation {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.4rem;
  justify-content: stretch;
  border-color: #d8b35a;
  background: #fffdf6;
}

.project-doc-local-draft[hidden] {
  display: none;
}

.project-doc-validation p,
.project-doc-local-draft p {
  margin: 0;
  color: var(--text);
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.25;
}

.project-doc-validation .errorlist {
  margin: 0;
  padding-left: 1.2rem;
  color: var(--accent-2);
}

.project-doc-validation p:last-child {
  color: var(--muted);
  font-weight: 400;
}

.project-doc-local-draft span {
  display: inline;
  color: var(--muted);
  font-weight: 400;
}

.project-doc-local-draft .button {
  min-height: 1.78rem;
  padding: 0.24rem 0.52rem;
  border-color: var(--line);
  background: #f7f6f3;
  color: var(--text);
  font-size: 0.82rem;
  font-weight: 700;
}

.project-doc-local-draft .button.secondary {
  background: transparent;
  color: var(--muted);
}

.project-doc-local-draft .button:hover,
.project-doc-local-draft .button:focus-visible {
  border-color: #bdbab2;
  background: #f1f0ed;
  color: var(--text);
}

.project-doc-format-button {
  min-width: 2.35rem;
  padding-inline: 0.55rem;
}

.project-doc-history-button {
  width: 2.35rem;
  height: 2.35rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

.project-doc-history-icon {
  display: inline-block;
  width: 1.05rem;
  height: 1.05rem;
}

.project-doc-style-controls {
  display: inline-flex;
  align-items: center;
  gap: 0.12rem;
}

.project-doc-style-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  min-width: 2.35rem;
  height: 2.35rem;
  min-height: 2.35rem;
  border-color: transparent;
  border-radius: 4px;
  background: transparent;
  color: var(--muted);
  padding: 0;
}

.project-doc-style-button:hover,
.project-doc-style-button:focus-visible {
  background: #f4f3f0;
  color: var(--text);
}

.project-doc-style-button.is-active,
.project-doc-style-button[aria-pressed="true"] {
  border-color: var(--text);
  background: var(--text);
  color: #fff;
}

.project-doc-style-glyph {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.1rem;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1;
}

.project-doc-insert-button {
  min-width: 5.4rem;
}

.project-doc-nodes {
  display: block;
}

.project-doc-prosemirror {
  min-width: 0;
  min-height: 35rem;
  color: var(--text);
  font-size: 1.06rem;
  line-height: 1.4;
  outline: 0;
}

.project-doc-prosemirror:focus,
.project-doc-prosemirror:focus-visible,
.project-doc-prosemirror.ProseMirror-focused {
  outline: 3px solid var(--focus);
  outline-offset: 0.35rem;
}

.project-doc-prosemirror > * {
  margin: 0;
}

.project-doc-prosemirror > * + * {
  margin-top: 0.8rem;
}

.project-doc-prosemirror > [data-alignment]:not(.project-doc-media-node) {
  width: min(100%, 720px);
}

.project-doc-prosemirror > [data-alignment="left"]:not(.project-doc-media-node) {
  margin-right: auto;
  text-align: left;
}

.project-doc-prosemirror > [data-alignment="center"]:not(.project-doc-media-node) {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.project-doc-prosemirror > [data-alignment="right"]:not(.project-doc-media-node) {
  margin-left: auto;
  text-align: right;
}

.project-doc-prosemirror p {
  display: block;
  min-height: 1.4em;
}

.project-doc-prosemirror p,
.project-doc-prosemirror h2,
.project-doc-prosemirror li p {
  tab-size: 4;
  white-space: pre-wrap;
}

.project-doc-prosemirror > ul[data-alignment="center"],
.project-doc-prosemirror > ol[data-alignment="center"],
.project-doc-prosemirror > ul[data-alignment="right"],
.project-doc-prosemirror > ol[data-alignment="right"] {
  padding-left: 0;
  list-style-position: inside;
}

.project-doc-prosemirror strong,
.project-doc-prosemirror em,
.project-doc-prosemirror a {
  display: inline;
  line-height: inherit;
}

.project-doc-prosemirror strong {
  font-weight: 700;
}

.project-doc-prosemirror em {
  font-style: italic;
}

.project-doc-prosemirror h2 {
  margin-top: 1.3rem;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 2.35rem;
  line-height: 1.08;
}

.project-doc-prosemirror blockquote {
  width: min(100%, 720px);
  margin: 0.55rem 0;
  padding: 0.25rem 0 0.25rem 1.15rem;
  border-left: 2px solid rgba(69, 66, 59, 0.24);
  color: rgba(22, 21, 18, 0.82);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.12rem;
  font-style: italic;
  line-height: 1.45;
}

.project-doc-prosemirror blockquote p {
  margin: 0;
}

.project-doc-prosemirror blockquote p + p {
  margin-top: 0.45rem;
}

.project-doc-prosemirror ul,
.project-doc-prosemirror ol {
  margin: 0.4rem 0 0.8rem;
  padding-left: 1.45rem;
}

.project-doc-prosemirror li + li {
  margin-top: 0.2rem;
}

.project-doc-prosemirror li p {
  margin: 0;
}

.project-doc-callout-node {
  width: min(100%, 720px);
  margin-block: 0.5rem;
  padding: 0.82rem 1rem;
  border: 1px solid rgba(69, 66, 59, 0.11);
  background: rgba(69, 66, 59, 0.035);
  color: rgba(22, 21, 18, 0.88);
}

.project-doc-callout-node p {
  margin: 0;
}

.project-doc-callout-node p + p {
  margin-top: 0.45rem;
}

.project-doc-prosemirror .is-empty::before {
  content: attr(data-placeholder);
  display: block;
  width: 100%;
  height: 0;
  color: var(--muted);
  text-align: inherit;
  pointer-events: none;
}

.project-document-form:has(.project-doc-media-node-empty-image [data-inline-library-picker])
  .project-doc-prosemirror
  .project-doc-media-node-empty-image
  + p.is-empty {
  min-height: 0.65rem;
}

.project-document-form:has(.project-doc-media-node-empty-image [data-inline-library-picker])
  .project-doc-prosemirror
  .project-doc-media-node-empty-image
  + p.is-empty::before {
  opacity: 0;
}

.project-doc-inline-reorder {
  position: absolute;
  left: 0.55rem;
  z-index: 5;
  display: inline-flex;
  flex-direction: column;
  gap: 0.2rem;
  padding: 0.18rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 0.45rem 1.2rem rgba(20, 20, 20, 0.08);
}

.project-doc-inline-reorder[hidden] {
  display: none;
}

.project-doc-inline-reorder-button,
.project-doc-inline-reorder-handle {
  display: grid;
  place-items: center;
  width: 1.9rem;
  height: 1.9rem;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--text);
  cursor: pointer;
}

.project-doc-inline-reorder-handle {
  color: var(--muted);
  cursor: grab;
  touch-action: none;
}

.project-doc-inline-reorder-handle:active,
.project-doc-inline-reorder[data-project-inline-reorder-dragging="true"] .project-doc-inline-reorder-handle {
  cursor: grabbing;
}

.project-doc-inline-reorder-button:hover,
.project-doc-inline-reorder-button:focus-visible,
.project-doc-inline-reorder-handle:hover,
.project-doc-inline-reorder-handle:focus-visible {
  background: #f4f3f0;
}

.project-doc-inline-reorder-button:disabled,
.project-doc-inline-reorder-handle:disabled {
  color: var(--muted);
  cursor: default;
  opacity: 0.35;
}

.project-doc-inline-reorder-button svg,
.project-doc-inline-reorder-handle svg {
  width: 1rem;
  height: 1rem;
}

@media (hover: hover) and (pointer: fine) {
  .project-doc-inline-reorder[data-project-inline-reorder-mode="text"]:not(:hover):not(:focus-within):not(
      [data-project-inline-reorder-dragging="true"]
    ) {
    gap: 0;
    padding: 0.08rem;
    border-color: transparent;
    background: transparent;
    box-shadow: none;
  }

  .project-doc-inline-reorder[data-project-inline-reorder-mode="text"]:not(:hover):not(:focus-within):not(
      [data-project-inline-reorder-dragging="true"]
    )
    .project-doc-inline-reorder-button {
    width: 0;
    height: 0;
    opacity: 0;
    overflow: hidden;
    visibility: hidden;
    pointer-events: none;
  }

  .project-doc-inline-reorder[data-project-inline-reorder-mode="text"]:not(:hover):not(:focus-within):not(
      [data-project-inline-reorder-dragging="true"]
    )
    .project-doc-inline-reorder-handle {
    width: 1.55rem;
    height: 1.55rem;
    border: 1px solid rgba(69, 66, 59, 0.12);
    background: rgba(255, 255, 255, 0.78);
    box-shadow: 0 0.35rem 0.9rem rgba(24, 23, 21, 0.08);
    opacity: 0.72;
  }
}

@media (max-width: 780px), (hover: none), (pointer: coarse) {
  .project-doc-inline-reorder {
    flex-direction: row;
  }

  .project-doc-inline-reorder:not(:focus-within):not([data-project-inline-reorder-dragging="true"]) {
    gap: 0;
    padding: 0.12rem;
  }

  .project-doc-inline-reorder:not(:focus-within):not([data-project-inline-reorder-dragging="true"])
    .project-doc-inline-reorder-button {
    width: 0;
    height: 0;
    opacity: 0;
    overflow: hidden;
    visibility: hidden;
    pointer-events: none;
  }

  .project-doc-inline-reorder:not(:focus-within):not([data-project-inline-reorder-dragging="true"])
    .project-doc-inline-reorder-handle {
    width: 2.05rem;
    height: 2.05rem;
  }
}

.project-doc-drop-indicator {
  position: absolute;
  z-index: 4;
  height: 0;
  pointer-events: none;
}

.project-doc-drop-indicator[hidden] {
  display: none;
}

.project-doc-drop-indicator::before {
  content: "";
  position: absolute;
  right: 0;
  left: 0;
  top: -1px;
  height: 2px;
  border-radius: 999px;
  background: #45423b;
  box-shadow: 0 0.35rem 1rem rgba(20, 20, 20, 0.14);
}

.project-doc-drop-indicator::after {
  content: "";
  position: absolute;
  top: -0.28rem;
  left: -0.28rem;
  width: 0.56rem;
  height: 0.56rem;
  border-radius: 999px;
  background: #45423b;
}

.project-doc-drop-indicator.is-noop {
  opacity: 0.35;
}

.project-doc-is-reordering {
  cursor: grabbing;
  user-select: none;
}

.project-doc-prosemirror.is-inline-reordering > * {
  transition: opacity 140ms ease;
}

.project-doc-prosemirror > .is-project-doc-drag-source {
  opacity: 0.42;
  outline: 1px solid rgba(69, 66, 59, 0.18) !important;
  outline-offset: 0.25rem;
}

.project-doc-prosemirror p.ProseMirror-selectednode,
.project-doc-prosemirror h2.ProseMirror-selectednode,
.project-doc-prosemirror li.ProseMirror-selectednode {
  outline: 0;
}

.project-doc-prosemirror .project-doc-callout-node.ProseMirror-selectednode {
  outline: 1px solid rgba(69, 66, 59, 0.16);
  outline-offset: 0.2rem;
}

.project-doc-prosemirror .project-doc-media-node:focus,
.project-doc-prosemirror .project-doc-media-node:focus-visible {
  outline: 1px solid rgba(69, 66, 59, 0.18) !important;
  outline-offset: 0.2rem;
}

.project-doc-prosemirror.post-description-prosemirror {
  min-height: clamp(8rem, 24vh, 14rem);
  max-width: 46rem;
}

.post-description-prosemirror h2 {
  font-size: 1.9rem;
}

@media (max-width: 780px) {
  .project-doc-prosemirror h2 {
    font-size: 2rem;
  }

  .post-description-prosemirror h2 {
    font-size: 1.65rem;
  }

  .profile-rich-prosemirror h2 {
    font-size: 1.42rem;
  }

  .profile-page-editor-shell .profile-editor-header h1 {
    font-size: 1.9rem;
  }

}

.post-editor-form:has(.post-description-prosemirror.ProseMirror-focused) .post-description-toolbar-shell,
.post-description-toolbar-shell:focus-within {
  display: block;
}

.post-description-meter {
  margin: -1.2rem 0 1.35rem;
  color: var(--muted);
  font-size: 0.86rem;
}

.post-description-meter.is-over-limit {
  color: var(--accent-2);
  font-weight: 700;
}

.post-editor-workspace {
  width: min(100%, 72rem);
  margin-inline: auto;
  grid-template-columns: minmax(0, 1fr);
}

.post-editor-sequence {
  display: grid;
  gap: 0.75rem;
  width: min(100%, 46rem);
  margin-top: 1.2rem;
  margin-inline: auto;
  padding-top: 1.35rem;
  border-top: 1px solid rgba(69, 66, 59, 0.12);
}

.post-editor-section-heading {
  gap: 0.22rem;
}

.post-editor-section-heading h2 {
  margin: 0;
  color: rgba(69, 66, 59, 0.78);
  font-size: 0.95rem;
  font-weight: 650;
  line-height: 1.25;
}

.post-editor-section-heading .helper {
  margin: 0;
  max-width: 34rem;
  color: rgba(69, 66, 59, 0.66);
  font-size: 0.84rem;
  line-height: 1.35;
}

.composer-selection-status.post-editor-selection-status {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  border: 0;
  overflow: hidden;
  background: transparent;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.project-doc-panel.post-editor-inline-panel {
  min-width: 0;
  border: 0;
  border-top: 1px solid rgba(69, 66, 59, 0.14);
  background: transparent;
  padding: 0;
  box-shadow: none;
}

.project-doc-panel.post-editor-inline-panel summary {
  display: grid;
  grid-template-columns: minmax(8rem, 12rem) minmax(0, 1fr) 0.85rem;
  justify-content: stretch;
  align-items: center;
  column-gap: 0.7rem;
  min-height: 2.3rem;
  padding: 0.34rem 0;
  border-bottom: 0;
  color: var(--muted);
  font-size: 0.9rem;
  font-weight: 600;
}

.project-doc-panel.post-editor-inline-panel summary::after {
  content: "";
  justify-self: center;
  width: 0.38rem;
  height: 0.38rem;
  border-right: 1.5px solid rgba(69, 66, 59, 0.5);
  border-bottom: 1.5px solid rgba(69, 66, 59, 0.5);
  transform: rotate(45deg) translateY(-0.08rem);
  transition:
    border-color 140ms ease,
    transform 140ms ease;
}

.project-doc-panel.post-editor-inline-panel[open] summary::after {
  border-color: rgba(69, 66, 59, 0.78);
  transform: rotate(225deg) translate(-0.05rem, -0.02rem);
}

.project-doc-panel.post-editor-inline-panel[open] summary {
  margin-bottom: 0.3rem;
}

.project-doc-panel.post-editor-inline-panel summary > span:first-child {
  display: inline-flex;
  align-items: center;
  gap: 0.38rem;
  min-width: 0;
  color: var(--muted);
  font-size: 0.9rem;
  font-weight: 600;
}

.project-doc-panel.post-editor-inline-panel summary .icon {
  width: 0.82rem;
  height: 0.82rem;
  color: rgba(69, 66, 59, 0.62);
}

.project-doc-panel.post-editor-inline-panel > :not(summary) {
  margin-left: 0;
  margin-right: 0;
}

.project-doc-panel.post-editor-inline-panel > :last-child {
  margin-bottom: 0;
}

.project-doc-panel-action {
  display: flex;
  margin: 0.7rem 0 0;
}

.project-doc-panel-action-link {
  display: inline-flex;
  align-items: center;
  gap: 0.32rem;
  min-height: 1.95rem;
  border: 1px solid rgba(69, 66, 59, 0.14);
  border-radius: 999px;
  background: #fbfaf7;
  padding: 0.24rem 0.62rem;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 650;
  text-decoration: none;
}

.project-doc-panel-action-link:hover,
.project-doc-panel-action-link:focus-visible {
  border-color: rgba(69, 66, 59, 0.3);
  color: var(--text);
}

.project-doc-panel-action-link .icon {
  width: 0.88rem;
  height: 0.88rem;
}

.project-cover-auto-badge {
  position: absolute;
  right: auto;
  bottom: 0.48rem;
  left: 0.48rem;
  z-index: 1;
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 999px;
  background: rgba(24, 23, 21, 0.78);
  padding: 0.12rem 0.34rem;
  color: #fff;
  font-size: 0.64rem;
  font-weight: 720;
  line-height: 1;
  letter-spacing: 0;
  pointer-events: none;
}

.post-editor-tool-count {
  justify-self: start;
  margin-left: 0;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 700;
}

.post-selected-image-list {
  display: grid;
  gap: 0.65rem;
}

.post-selected-image-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  justify-self: center;
  justify-content: center;
  width: min(30rem, 100%);
  gap: 0;
  align-items: stretch;
  border: 1px solid transparent;
  background: transparent;
  padding: 0.55rem;
}

.post-selected-image-card:hover,
.post-selected-image-card:focus,
.post-selected-image-card:focus-within {
  border-color: rgba(69, 66, 59, 0.18);
  background: #fff;
  box-shadow: 0 0 0 1px rgba(69, 66, 59, 0.08);
}

.post-selected-image-card:focus-visible {
  outline: 2px solid #45423b;
  outline-offset: 0.2rem;
}

.post-selected-image-thumb {
  min-height: 0;
  max-height: none;
  background: transparent;
}

.post-selected-image-card .post-selected-image-thumb {
  width: 100%;
  background: transparent;
}

.post-selected-image-thumb img,
.post-selected-image-thumb .composer-image-preview {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: min(70vh, 30rem);
}

.post-selected-image-meta {
  display: grid;
  gap: 0.35rem;
  min-width: 0;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  visibility: hidden;
  transition: opacity 0.16s ease, max-height 0.16s ease, margin-top 0.16s ease;
}

.post-selected-image-card:hover .post-selected-image-meta,
.post-selected-image-card:focus .post-selected-image-meta,
.post-selected-image-card:focus-within .post-selected-image-meta {
  max-height: 12rem;
  margin-top: 0.65rem;
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
}

.post-selected-image-meta h3,
.post-selected-image-meta p {
  margin: 0;
}

.post-selected-image-meta h3 {
  font-size: 0.98rem;
  overflow-wrap: anywhere;
}

.post-selected-caption-field {
  display: grid;
  gap: 0.25rem;
  font-size: 0.82rem;
}

.post-selected-caption-field input {
  border: 0;
  border-bottom: 1px solid rgba(69, 66, 59, 0.16);
  border-radius: 0;
  background: transparent;
  padding: 0.32rem 0 0.22rem;
}

.post-selected-caption-field input:focus,
.project-doc-selected-image-caption:focus {
  outline: 0;
  border-bottom-color: rgba(69, 66, 59, 0.36);
}

.post-selected-image-actions {
  position: absolute;
  top: 0.85rem;
  right: 0.85rem;
  z-index: 2;
  display: flex;
  flex-wrap: nowrap;
  gap: 0.22rem;
  justify-content: flex-end;
  min-width: 0;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-0.12rem);
  visibility: hidden;
  transition: opacity 0.16s ease, transform 0.16s ease;
}

.post-selected-image-card:hover .post-selected-image-actions,
.post-selected-image-card:focus .post-selected-image-actions,
.post-selected-image-card:focus-within .post-selected-image-actions {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
  visibility: visible;
}

.post-selected-image-actions .button {
  min-height: 2rem;
  padding: 0.35rem;
  font-size: 0.8rem;
}

.post-selected-image-action-button {
  width: 2rem;
  min-width: 2rem;
  border-color: rgba(69, 66, 59, 0.18);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.82);
  color: rgba(69, 66, 59, 0.74);
}

.post-selected-image-action-button:hover,
.post-selected-image-action-button:focus-visible {
  border-color: rgba(69, 66, 59, 0.32);
  background: #f5f4f1;
  color: var(--text);
}

.post-selected-image-action-icon {
  width: 0.96rem;
  height: 0.96rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.post-selected-empty[hidden] {
  display: none;
}

.post-editor-library-search {
  margin-top: 0;
}

.post-editor-folder-filter {
  display: grid;
  gap: 0.35rem;
  align-items: stretch;
  margin: 0.75rem 0;
}

.post-editor-folder-filter a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  min-height: 2rem;
  padding: 0.38rem 0.5rem;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--text);
  text-decoration: none;
  font-size: 0.82rem;
}

.post-editor-folder-filter a.active,
.post-editor-folder-filter a[aria-current="page"] {
  border-color: var(--text);
  background: var(--text);
  color: #fff;
}

.post-editor-folder-filter a span {
  color: inherit;
  font-size: 0.75rem;
  opacity: 0.72;
}

.post-editor-inline-panel .post-editor-folder-filter {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 9rem), 1fr));
}

.post-editor-library-picker {
  grid-template-columns: repeat(auto-fill, minmax(7rem, 1fr));
  gap: 0.55rem;
  max-height: min(28rem, 55vh);
  overflow: auto;
  padding-right: 0.15rem;
}

.post-editor-library-option {
  padding: 0.42rem;
}

.post-editor-library-option[hidden] {
  display: none;
}

.post-editor-library-option .composer-image-thumb {
  min-height: 4.7rem;
  max-height: 6.2rem;
}

.post-editor-library-option .composer-image-thumb img,
.post-editor-library-option .composer-image-preview {
  max-height: 6.2rem;
}

.post-editor-library-option .composer-image-label {
  font-size: 0.78rem;
}

.project-doc-slash-menu {
  position: fixed;
  z-index: 30;
  display: grid;
  width: min(19rem, calc(100vw - 1rem));
  gap: 0.12rem;
  border: 1px solid rgba(69, 66, 59, 0.13);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.98);
  padding: 0.38rem;
  box-shadow: 0 0.75rem 1.8rem rgba(24, 23, 21, 0.11);
}

.project-doc-slash-menu[hidden] {
  display: none;
}

.project-doc-slash-option {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: 0.55rem;
  align-items: center;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: var(--text);
  padding: 0.38rem 0.45rem;
  cursor: pointer;
  text-align: left;
}

.project-doc-slash-option.is-selected,
.project-doc-slash-option:hover {
  background: #f1f0ed;
}

.project-doc-slash-icon {
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border: 1px solid rgba(69, 66, 59, 0.11);
  border-radius: 7px;
  background: #fbfaf7;
  color: var(--muted);
}

.project-doc-slash-option.is-selected .project-doc-slash-icon,
.project-doc-slash-option:hover .project-doc-slash-icon {
  border-color: rgba(69, 66, 59, 0.18);
  background: #fff;
  color: var(--text);
}

.project-doc-slash-icon svg {
  width: 1rem;
  height: 1rem;
}

.project-doc-slash-copy {
  display: grid;
  gap: 0.04rem;
  min-width: 0;
}

.project-doc-slash-label {
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.15;
}

.project-doc-slash-detail {
  color: var(--muted);
  font-size: 0.76rem;
  line-height: 1.15;
}

.project-doc-format-button.is-active {
  border-color: var(--text);
  background: var(--text);
  color: #fff;
}

.project-doc-link-popover {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
  margin: 0 0 0.7rem;
  padding: 0.7rem;
  border: 1px solid var(--line);
  background: #fff;
  box-shadow: 0 0.7rem 1.5rem rgba(24, 23, 21, 0.08);
}

.project-doc-link-popover[hidden] {
  display: none;
}

.project-doc-link-popover label {
  flex: 1 1 18rem;
  min-width: min(18rem, 100%);
}

.project-doc-link-popover input {
  width: 100%;
  padding: 0.45rem 0.55rem;
}

.project-doc-link-apply-button {
  min-width: 3.8rem;
}

.project-doc-link-remove-button {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 2.15rem;
  min-width: 2.15rem;
  height: 2.15rem;
  min-height: 2.15rem;
  border-radius: 999px;
  padding: 0;
}

.project-doc-link-remove-button .icon {
  width: 0.92rem;
  height: 0.92rem;
}

.project-doc-node {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.65rem;
  padding: 0.2rem 0;
}

.project-doc-node-button {
  border: 1px solid var(--line);
  background: #fff;
  color: var(--muted);
  padding: 0.22rem 0.38rem;
  cursor: pointer;
  font-size: 0.72rem;
}

.project-doc-node-button:disabled {
  visibility: hidden;
}

.project-doc-node-main {
  min-width: 0;
}

.project-doc-node-text {
  min-height: 4.8rem;
  line-height: 1.6;
}

.project-doc-media-head {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.project-doc-media-head {
  justify-content: space-between;
  margin-bottom: 0.65rem;
}

.project-doc-media-node {
  display: block;
  min-width: 0;
  margin: 1.35rem 0;
  padding: 1rem;
  border: 1px solid var(--line);
  background: #fff;
}

.project-doc-node-image {
  width: min(30rem, 100%);
  margin-block: 0.85rem;
  padding: 0.6rem;
  border-color: transparent;
  background: transparent;
}

.project-doc-node-image.project-doc-media-node-empty-image {
  width: min(40rem, 100%);
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.project-doc-node-image.project-doc-media-node-has-images {
  position: relative;
  width: fit-content;
  max-width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.project-doc-node-canvas.project-doc-media-node-has-images {
  position: relative;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.project-doc-node-image[data-block-alignment="left"] {
  margin-left: 0;
  margin-right: auto;
}

.project-doc-node-image[data-block-alignment="center"] {
  margin-right: auto;
  margin-left: auto;
}

.project-doc-node-image[data-block-alignment="right"] {
  margin-right: 0;
  margin-left: auto;
}

.project-doc-node-image[data-image-display-mode="wide"] {
  width: 100%;
}

.project-doc-media-node.is-active-target,
.project-doc-media-node.ProseMirror-selectednode {
  border-color: #bdbab2;
  box-shadow: 0 0 0 1px rgba(69, 66, 59, 0.08);
}

.project-doc-node-image.project-doc-media-node-has-images:hover,
.project-doc-node-image.project-doc-media-node-has-images:focus,
.project-doc-node-image.project-doc-media-node-has-images:focus-within,
.project-doc-node-image.project-doc-media-node-has-images.is-active-target,
.project-doc-node-image.project-doc-media-node-has-images.ProseMirror-selectednode {
  padding: 0;
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}

.project-doc-node-image.project-doc-media-node-has-images:focus-visible {
  outline: 2px solid #45423b;
  outline-offset: 0.2rem;
}

.project-doc-prosemirror .project-doc-media-node.ProseMirror-selectednode {
  outline: 1px solid rgba(69, 66, 59, 0.16);
  outline-offset: 0.2rem;
}

.project-doc-prosemirror .project-doc-node-image.project-doc-media-node-has-images.ProseMirror-selectednode {
  outline: 0;
}

.project-doc-prosemirror .project-doc-node-image.project-doc-media-node-empty-image.ProseMirror-selectednode {
  outline: 0;
}

.project-doc-media-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
}

.project-doc-node-image.project-doc-media-node-has-images .project-doc-media-head {
  position: absolute;
  z-index: 2;
  top: 0.45rem;
  right: 0.45rem;
  left: auto;
  display: inline-flex;
  width: max-content;
  max-width: calc(100% - 0.9rem);
  align-items: center;
  justify-content: flex-end;
  margin-bottom: 0;
  padding: 0.22rem;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 0.55rem 1.25rem rgba(24, 23, 21, 0.12);
  backdrop-filter: blur(8px);
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
}

.project-doc-node-image.project-doc-media-node-has-images .project-doc-media-head::-webkit-scrollbar {
  display: none;
}

.project-doc-node-canvas.project-doc-media-node-has-images .project-doc-media-head {
  position: absolute;
  z-index: 2;
  top: 0.55rem;
  right: 0.55rem;
  left: auto;
  display: inline-flex;
  width: max-content;
  max-width: calc(100% - 1.1rem);
  align-items: center;
  justify-content: flex-end;
  margin-bottom: 0;
  padding: 0.24rem;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 0.55rem 1.25rem rgba(24, 23, 21, 0.12);
  backdrop-filter: blur(8px);
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
}

.project-doc-node-canvas.project-doc-media-node-has-images .project-doc-media-head > strong {
  display: none;
}

.project-doc-node-image.project-doc-media-node-has-images:hover .project-doc-media-head,
.project-doc-node-image.project-doc-media-node-has-images:focus .project-doc-media-head,
.project-doc-node-image.project-doc-media-node-has-images:focus-within .project-doc-media-head,
.project-doc-node-image.project-doc-media-node-has-images.is-active-target .project-doc-media-head {
  margin-bottom: 0;
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
}

.project-doc-node-canvas.project-doc-media-node-has-images:hover .project-doc-media-head,
.project-doc-node-canvas.project-doc-media-node-has-images:focus .project-doc-media-head,
.project-doc-node-canvas.project-doc-media-node-has-images:focus-within .project-doc-media-head,
.project-doc-node-canvas.project-doc-media-node-has-images.is-active-target .project-doc-media-head,
.project-doc-node-canvas.project-doc-media-node-has-images.ProseMirror-selectednode .project-doc-media-head {
  margin-bottom: 0;
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
}

.project-doc-node-image.project-doc-media-node-has-images .project-doc-media-actions-floating {
  flex-wrap: nowrap;
  gap: 0.15rem;
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.project-doc-node-image.project-doc-media-node-has-images
  .project-doc-media-actions-floating::-webkit-scrollbar {
  display: none;
}

.project-doc-node-canvas.project-doc-media-node-has-images .project-doc-media-actions {
  flex-wrap: nowrap;
  gap: 0.18rem;
  width: auto;
}

.project-doc-node-image.project-doc-media-node-has-images .project-doc-inline-align {
  gap: 0.15rem;
  border: 0;
}

.project-doc-node-image.project-doc-media-node-has-images .project-doc-inline-display {
  display: inline-flex;
  gap: 0.12rem;
  padding-left: 0.2rem;
  border-left: 1px solid var(--line);
}

.project-doc-node-image.project-doc-media-node-has-images .project-doc-inline-align .button,
.project-doc-node-image.project-doc-media-node-has-images .project-doc-floating-icon-button {
  display: grid;
  place-items: center;
  width: 1.9rem;
  min-width: 1.9rem;
  height: 1.9rem;
  min-height: 1.9rem;
  padding: 0;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: var(--muted);
}

.project-doc-node-image.project-doc-media-node-has-images .project-doc-inline-display .button {
  display: inline-flex;
  gap: 0.26rem;
  align-items: center;
  width: auto;
  min-width: 2.75rem;
  height: 1.9rem;
  min-height: 1.9rem;
  padding: 0 0.42rem;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 620;
  line-height: 1;
  white-space: nowrap;
}

.project-doc-inline-display-label {
  display: inline-block;
}

.project-doc-node-image.project-doc-media-node-has-images .project-doc-inline-align .button + .button {
  border-left: 0;
}

.project-doc-node-image.project-doc-media-node-has-images .project-doc-inline-align .button:hover,
.project-doc-node-image.project-doc-media-node-has-images .project-doc-inline-align .button:focus-visible,
.project-doc-node-image.project-doc-media-node-has-images .project-doc-inline-display .button:hover,
.project-doc-node-image.project-doc-media-node-has-images .project-doc-inline-display .button:focus-visible,
.project-doc-node-image.project-doc-media-node-has-images .project-doc-floating-icon-button:hover,
.project-doc-node-image.project-doc-media-node-has-images .project-doc-floating-icon-button:focus-visible {
  background: #f4f3f0;
  color: var(--text);
}

.project-doc-node-image.project-doc-media-node-has-images .project-doc-inline-align .button[aria-pressed="true"],
.project-doc-node-image.project-doc-media-node-has-images .project-doc-inline-display .button[aria-pressed="true"] {
  background: var(--text);
  color: #fff;
}

.project-doc-node-image.project-doc-media-node-has-images .project-doc-image-remove-button {
  margin-left: 0.2rem;
}

.project-doc-canvas-remove-button {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 1.9rem;
  min-width: 1.9rem;
  height: 1.9rem;
  min-height: 1.9rem;
  border-radius: 6px;
  padding: 0;
}

.project-doc-canvas-remove-button .icon {
  width: 0.92rem;
  height: 0.92rem;
}

.project-doc-canvas-remove-button:hover,
.project-doc-canvas-remove-button:focus-visible {
  background: #f4f3f0;
  color: var(--text);
}

.project-doc-inline-align {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--line);
}

.project-doc-inline-display {
  display: inline-flex;
  align-items: center;
}

.project-doc-inline-align .button {
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 0;
  min-width: 2.05rem;
  padding: 0.28rem;
}

.project-doc-inline-align .button + .button {
  border-left: 1px solid var(--line);
}

.project-doc-inline-display .button[aria-pressed="true"],
.project-doc-inline-align .button[aria-pressed="true"] {
  background: var(--text);
  color: #fff;
}

.project-doc-inline-align-icon {
  width: 1rem;
  height: 1rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.project-doc-media-preview {
  display: grid;
  gap: 0.6rem;
  margin-bottom: 0.85rem;
}

.project-doc-node-image .project-doc-media-preview {
  width: min(24rem, 100%);
  margin-bottom: 0;
}

.project-doc-node-image.project-doc-media-node-single-image .project-doc-media-preview,
.project-doc-node-image.project-doc-media-node-single-image .project-doc-media-preview-item,
.project-doc-node-image.project-doc-media-node-single-image .project-doc-media-preview-frame {
  width: fit-content;
  max-width: 100%;
}

.project-doc-node-image[data-image-display-mode="wide"].project-doc-media-node-single-image .project-doc-media-preview,
.project-doc-node-image[data-image-display-mode="wide"].project-doc-media-node-single-image .project-doc-media-preview-item,
.project-doc-node-image[data-image-display-mode="wide"].project-doc-media-node-single-image .project-doc-media-preview-frame {
  width: 100%;
}

.project-doc-node-image[data-block-alignment="center"] .project-doc-media-preview {
  margin-right: auto;
  margin-left: auto;
}

.project-doc-node-image[data-block-alignment="right"] .project-doc-media-preview {
  margin-left: auto;
}

.project-doc-media-preview-image,
.project-doc-media-preview-single,
.project-doc-media-preview-full_width_opener {
  grid-template-columns: minmax(0, 1fr);
}

.project-doc-media-preview-grid,
.project-doc-media-preview-captioned_spread {
  grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr));
}

.project-doc-media-preview-two_up {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.project-doc-media-preview-large_plus_small {
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.8fr);
}

.project-doc-media-preview-triptych {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.project-doc-media-preview-contact_sheet {
  grid-template-columns: repeat(auto-fit, minmax(5.5rem, 1fr));
}

.project-doc-media-preview-full_width_opener .project-doc-media-preview-item:first-child,
.project-doc-media-preview-captioned_spread .project-doc-media-preview-item:first-child {
  grid-column: 1 / -1;
}

.project-doc-media-preview-item {
  min-width: 0;
  margin: 0;
}

.project-doc-media-preview-frame {
  display: grid;
  place-items: center;
  aspect-ratio: 4 / 3;
  background: #f1f0ed;
  color: var(--muted);
  overflow: hidden;
}

.project-doc-media-preview-image .project-doc-media-preview-frame,
.project-doc-media-preview-single .project-doc-media-preview-frame,
.project-doc-media-preview-full_width_opener .project-doc-media-preview-item:first-child .project-doc-media-preview-frame {
  aspect-ratio: 16 / 10;
}

.project-doc-node-image .project-doc-media-preview-image .project-doc-media-preview-frame,
.project-doc-node-image .project-doc-media-preview-single .project-doc-media-preview-frame {
  aspect-ratio: 4 / 3;
  max-height: 16rem;
}

.project-doc-node-image.project-doc-media-node-has-images .project-doc-media-preview-frame {
  display: block;
  aspect-ratio: auto;
  max-height: none;
  background: transparent;
}

.project-doc-node-image.project-doc-media-node-has-images .project-doc-media-preview-frame img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: min(70vh, 32rem);
}

.project-doc-node-image[data-image-display-mode="wide"].project-doc-media-node-has-images .project-doc-media-preview-frame img {
  width: 100%;
  max-height: none;
}

.project-doc-media-preview-frame img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.project-doc-media-preview figcaption {
  margin-top: 0.3rem;
  color: var(--muted);
  font-size: 0.82rem;
}

.project-doc-node-image.project-doc-media-node-has-images .project-doc-media-preview figcaption {
  display: block;
}

.project-doc-layout-controls {
  display: inline-flex;
  align-items: center;
  gap: 0.12rem;
}

.project-doc-layout-button {
  display: grid;
  place-items: center;
  width: 1.9rem;
  min-width: 1.9rem;
  height: 1.9rem;
  min-height: 1.9rem;
  border-color: transparent;
  border-radius: 4px;
  background: transparent;
  color: var(--muted);
  padding: 0;
}

.project-doc-layout-button:hover,
.project-doc-layout-button:focus-visible {
  background: #f4f3f0;
  color: var(--text);
}

.project-doc-layout-button[aria-pressed="true"] {
  background: var(--text);
  color: #fff;
}

.project-doc-layout-icon {
  display: grid;
  width: 1rem;
  height: 0.9rem;
  gap: 1px;
}

.project-doc-layout-icon-slot {
  min-width: 0;
  min-height: 0;
  border-radius: 1px;
  background: currentColor;
  opacity: 0.66;
}

.project-doc-layout-button[aria-pressed="true"] .project-doc-layout-icon-slot {
  opacity: 0.92;
}

.project-doc-layout-icon[data-canvas-layout-icon="grid"] {
  grid-template-columns: repeat(2, 1fr);
}

.project-doc-layout-icon[data-canvas-layout-icon="two_up"] {
  grid-template-columns: repeat(2, 1fr);
}

.project-doc-layout-icon[data-canvas-layout-icon="large_plus_small"] {
  grid-template-columns: 1.45fr 0.75fr;
}

.project-doc-layout-icon[data-canvas-layout-icon="triptych"] {
  grid-template-columns: repeat(3, 1fr);
}

.project-doc-layout-icon[data-canvas-layout-icon="contact_sheet"] {
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 1fr);
}

.project-doc-layout-icon[data-canvas-layout-icon="full_width_opener"],
.project-doc-layout-icon[data-canvas-layout-icon="captioned_spread"] {
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: 1.35fr 0.75fr;
}

.project-doc-layout-icon[data-canvas-layout-icon="full_width_opener"] .project-doc-layout-icon-slot:first-child,
.project-doc-layout-icon[data-canvas-layout-icon="captioned_spread"] .project-doc-layout-icon-slot:first-child {
  grid-column: 1 / -1;
}

.project-doc-selected-images {
  display: grid;
  gap: 0.5rem;
  margin-bottom: 0.65rem;
}

.project-doc-node-image.project-doc-media-node-has-images .project-doc-selected-images {
  display: none;
  margin: 0;
}

.project-doc-node-canvas.project-doc-media-node-has-images .project-doc-selected-images {
  max-height: 0;
  margin: 0;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  visibility: hidden;
  transition: opacity 0.16s ease, max-height 0.16s ease, margin-top 0.16s ease;
}

.project-doc-node-canvas.project-doc-media-node-has-images:hover .project-doc-selected-images,
.project-doc-node-canvas.project-doc-media-node-has-images:focus .project-doc-selected-images,
.project-doc-node-canvas.project-doc-media-node-has-images:focus-within .project-doc-selected-images,
.project-doc-node-canvas.project-doc-media-node-has-images.is-active-target .project-doc-selected-images,
.project-doc-node-canvas.project-doc-media-node-has-images.ProseMirror-selectednode .project-doc-selected-images {
  max-height: 36rem;
  margin-top: 0.75rem;
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
}

.project-doc-node-canvas.project-doc-media-node-has-images .project-doc-canvas-note {
  min-height: 0;
  margin-top: 0.75rem;
  color: var(--muted);
  font-size: 0.95rem;
  line-height: 1.45;
  resize: none;
  transition: opacity 0.16s ease, max-height 0.16s ease, margin-top 0.16s ease;
}

.project-doc-node-canvas.project-doc-media-node-has-images:not(.project-doc-media-node-has-note) .project-doc-canvas-note {
  max-height: 0;
  margin-top: 0;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  visibility: hidden;
}

.project-doc-node-canvas.project-doc-media-node-has-images:not(.project-doc-media-node-has-note):hover .project-doc-canvas-note,
.project-doc-node-canvas.project-doc-media-node-has-images:not(.project-doc-media-node-has-note):focus .project-doc-canvas-note,
.project-doc-node-canvas.project-doc-media-node-has-images:not(.project-doc-media-node-has-note):focus-within .project-doc-canvas-note,
.project-doc-node-canvas.project-doc-media-node-has-images:not(.project-doc-media-node-has-note).is-active-target .project-doc-canvas-note,
.project-doc-node-canvas.project-doc-media-node-has-images:not(.project-doc-media-node-has-note).ProseMirror-selectednode .project-doc-canvas-note {
  max-height: 8rem;
  margin-top: 0.75rem;
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
}

.project-doc-media-empty {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem;
  border: 1px dashed var(--line);
  background: #fff;
}

.project-doc-media-actions .button,
.project-doc-media-empty .button {
  border-color: var(--line);
  background: #fff;
  color: var(--text);
}

.project-doc-media-actions .button:hover,
.project-doc-media-empty .button:hover,
.project-doc-media-actions .button:focus-visible,
.project-doc-media-empty .button:focus-visible {
  border-color: #bdbab2;
  background: #f4f3f0;
}

.project-doc-node-canvas.project-doc-media-node-has-images .project-doc-media-actions .button {
  display: grid;
  place-items: center;
  width: 1.9rem;
  min-width: 1.9rem;
  height: 1.9rem;
  min-height: 1.9rem;
  padding: 0;
  border-color: transparent;
  border-radius: 4px;
  background: transparent;
  color: var(--muted);
  font-size: 0.78rem;
}

.project-doc-node-canvas.project-doc-media-node-has-images .project-doc-media-actions .button:hover,
.project-doc-node-canvas.project-doc-media-node-has-images .project-doc-media-actions .button:focus-visible {
  border-color: transparent;
  background: #f4f3f0;
  color: var(--text);
}

.project-doc-inline-library {
  display: grid;
  gap: 0.7rem;
  padding: 0.78rem;
  border: 1px solid rgba(69, 66, 59, 0.13);
  border-radius: 9px;
  background: #fffdfa;
  box-shadow: 0 0.5rem 1.35rem rgba(24, 23, 21, 0.055);
}

.project-doc-media-node-empty-image .project-doc-inline-library {
  gap: 0.54rem;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.project-doc-inline-library-head {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: flex-start;
  justify-content: space-between;
}

.project-doc-inline-library-copy {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
}

.project-doc-inline-library-title {
  font-size: 0.96rem;
  font-weight: 750;
  line-height: 1.2;
}

.project-doc-inline-library-detail {
  max-width: 28rem;
  color: var(--muted);
  font-size: 0.8rem;
  line-height: 1.3;
}

.project-doc-media-node-empty-image .project-doc-inline-library-head {
  gap: 0.48rem 0.72rem;
  align-items: center;
}

.project-doc-media-node-empty-image .project-doc-inline-library-copy {
  gap: 0.08rem;
}

.project-doc-media-node-empty-image .project-doc-inline-library-title {
  font-size: 0.9rem;
  line-height: 1.15;
}

.project-doc-media-node-empty-image .project-doc-inline-library-detail {
  max-width: 24rem;
  font-size: 0.76rem;
  line-height: 1.25;
}

.project-doc-inline-library-actions {
  display: flex;
  gap: 0.35rem;
  align-items: stretch;
  justify-content: flex-end;
  min-width: min(100%, 17rem);
  flex: 1 1 19rem;
}

.project-doc-inline-display-choice {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.35rem;
  width: min(100%, 18rem);
  flex: 0 1 18rem;
}

.project-doc-inline-library-actions .project-doc-inline-display-choice {
  width: auto;
  flex: 1 1 17rem;
}

.project-doc-inline-display-choice-button {
  display: grid;
  grid-template-columns: 1.65rem minmax(0, 1fr);
  gap: 0.38rem;
  align-items: center;
  min-width: 0;
  min-height: 2.8rem;
  border: 1px solid rgba(69, 66, 59, 0.14);
  border-radius: 8px;
  background: #fff;
  color: var(--text);
  padding: 0.42rem 0.48rem;
  cursor: pointer;
  text-align: left;
}

.project-doc-inline-display-choice-button:hover,
.project-doc-inline-display-choice-button:focus-visible {
  border-color: rgba(69, 66, 59, 0.35);
  box-shadow: 0 0 0 2px rgba(69, 66, 59, 0.08);
}

.project-doc-inline-display-choice-button[aria-pressed="true"] {
  border-color: var(--text);
  background: var(--text);
  color: #fff;
}

.project-doc-inline-display-choice-copy {
  display: grid;
  gap: 0.02rem;
  min-width: 0;
}

.project-doc-inline-display-choice-copy strong,
.project-doc-inline-display-choice-copy span {
  overflow-wrap: anywhere;
}

.project-doc-inline-display-choice-copy strong {
  font-size: 0.78rem;
  font-weight: 750;
  line-height: 1.15;
}

.project-doc-inline-display-choice-copy span {
  font-size: 0.68rem;
  line-height: 1.15;
  opacity: 0.76;
}

.project-doc-media-node-empty-image .project-doc-inline-library-actions {
  flex: 0 1 auto;
  gap: 0.32rem;
  justify-content: flex-start;
  align-items: center;
  min-width: 0;
}

.project-doc-media-node-empty-image .project-doc-inline-display-choice,
.project-doc-media-node-empty-image .project-doc-inline-library-actions .project-doc-inline-display-choice {
  display: inline-flex;
  flex: 0 0 auto;
  gap: 0.12rem;
  width: auto;
  padding: 0.16rem;
  border: 1px solid rgba(69, 66, 59, 0.14);
  border-radius: 999px;
  background: #f7f6f2;
}

.project-doc-media-node-empty-image .project-doc-inline-display-choice-button {
  display: inline-flex;
  grid-template-columns: none;
  gap: 0.26rem;
  justify-content: center;
  min-height: 1.95rem;
  border: 0;
  border-radius: 999px;
  background: transparent;
  padding: 0.28rem 0.5rem;
  box-shadow: none;
  font-size: 0.74rem;
  text-align: center;
}

.project-doc-media-node-empty-image .project-doc-inline-display-choice-button:hover,
.project-doc-media-node-empty-image .project-doc-inline-display-choice-button:focus-visible {
  background: #fff;
  box-shadow: none;
}

.project-doc-media-node-empty-image .project-doc-inline-display-choice-button[aria-pressed="true"] {
  background: var(--text);
  color: #fff;
}

.project-doc-media-node-empty-image .project-doc-inline-display-choice-button .project-doc-inline-align-icon {
  width: 0.84rem;
  height: 0.84rem;
}

.project-doc-media-node-empty-image .project-doc-inline-display-choice-copy {
  display: block;
}

.project-doc-media-node-empty-image .project-doc-inline-display-choice-copy strong {
  font-size: 0.76rem;
  line-height: 1;
}

.project-doc-media-node-empty-image .project-doc-inline-display-choice-copy span {
  display: none;
}

.project-doc-media-node-empty-image .project-doc-inline-library-remove {
  width: 2.05rem;
  min-width: 2.05rem;
  min-height: 2.05rem;
  border-radius: 999px;
  background: transparent;
}

.project-doc-inline-library-remove {
  display: grid;
  place-items: center;
  width: 2.8rem;
  min-width: 2.8rem;
  min-height: 2.8rem;
  border: 1px solid rgba(69, 66, 59, 0.14);
  border-radius: 8px;
  background: #fff;
  color: var(--muted);
  cursor: pointer;
}

.project-doc-inline-library-remove:hover,
.project-doc-inline-library-remove:focus-visible {
  border-color: rgba(69, 66, 59, 0.35);
  color: var(--text);
  box-shadow: 0 0 0 2px rgba(69, 66, 59, 0.08);
}

.project-doc-inline-library-search {
  display: grid;
  grid-template-columns: 1rem minmax(0, 1fr);
  gap: 0.45rem;
  align-items: center;
  border: 1px solid rgba(69, 66, 59, 0.15);
  border-radius: 999px;
  background: #fff;
  padding: 0 0.64rem;
}

.project-doc-inline-library-search:focus-within {
  border-color: rgba(69, 66, 59, 0.46);
  box-shadow: 0 0 0 2px rgba(69, 66, 59, 0.08);
}

.project-doc-inline-library-search-icon {
  width: 0.9rem;
  height: 0.9rem;
  color: rgba(69, 66, 59, 0.56);
}

.project-doc-inline-library-search input {
  width: 100%;
  min-height: 2.1rem;
  border: 0;
  background: transparent;
  padding: 0.42rem 0;
}

.project-doc-inline-library-search input:focus,
.project-doc-inline-library-search input:focus-visible {
  outline: none;
}

.project-doc-media-node-empty-image .project-doc-inline-library-search {
  border: 0;
  border-bottom: 1px solid rgba(69, 66, 59, 0.2);
  border-radius: 0;
  background: transparent;
  padding: 0;
}

.project-doc-media-node-empty-image .project-doc-inline-library-search:focus-within {
  border-color: #45423b;
  box-shadow: 0 1px 0 rgba(69, 66, 59, 0.22);
}

.project-doc-media-node-empty-image .project-doc-inline-library-search input {
  padding: 0.34rem 0 0.4rem;
  font-size: 0.86rem;
  line-height: 1.2;
}

.project-doc-media-node-empty-image .project-doc-inline-library-search input::placeholder {
  color: rgba(69, 66, 59, 0.66);
  opacity: 1;
}

.project-doc-inline-library-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(7.25rem, 1fr));
  gap: 0.5rem;
  max-height: min(18rem, 52vh);
  overflow: auto;
}

.project-doc-media-node-empty-image .project-doc-inline-library-grid {
  grid-template-columns: repeat(auto-fit, minmax(6.6rem, 1fr));
  gap: 0.56rem;
  max-height: min(20rem, 50vh);
  overflow-x: hidden;
  padding: 0.08rem;
  margin: -0.08rem;
}

.project-doc-inline-library-option {
  display: grid;
  grid-template-rows: auto minmax(2.2rem, auto);
  gap: 0.4rem;
  min-width: 0;
  border: 1px solid rgba(69, 66, 59, 0.12);
  background: #fbfbfa;
  color: var(--text);
  padding: 0.45rem;
  border-radius: 6px;
  cursor: pointer;
  text-align: left;
}

.project-doc-media-node-empty-image .project-doc-inline-library-option {
  position: relative;
  grid-template-rows: auto;
  gap: 0;
  border: 0;
  border-radius: 6px;
  background: transparent;
  padding: 0;
}

.project-doc-inline-library-option:hover,
.project-doc-inline-library-option:focus,
.project-doc-inline-library-option[aria-selected="true"] {
  border-color: #45423b;
  background: #fff;
  box-shadow: 0 0 0 2px rgba(69, 66, 59, 0.1);
}

.project-doc-media-node-empty-image .project-doc-inline-library-option:hover,
.project-doc-media-node-empty-image .project-doc-inline-library-option:focus,
.project-doc-media-node-empty-image .project-doc-inline-library-option[aria-selected="true"] {
  background: transparent;
  box-shadow: 0 0 0 1px rgba(69, 66, 59, 0.24);
  outline: 0;
}

.project-doc-inline-library-thumb {
  display: grid;
  place-items: center;
  min-height: 6.5rem;
  max-height: 10rem;
  background: #f1f0ed;
  overflow: hidden;
}

.project-doc-media-node-empty-image .project-doc-inline-library-thumb {
  aspect-ratio: 4 / 3;
  min-height: 6.4rem;
  max-height: none;
  border: 1px solid rgba(69, 66, 59, 0.11);
  border-radius: 5px;
  background: #f4f3ef;
}

.project-doc-inline-library-thumb img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 10rem;
  object-fit: contain;
}

.project-doc-media-node-empty-image .project-doc-inline-library-thumb img {
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: contain;
}

.project-doc-inline-library-label {
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.project-doc-inline-library-option-copy {
  display: grid;
  gap: 0.1rem;
  min-width: 0;
}

.project-doc-inline-library-image-title {
  color: rgba(69, 66, 59, 0.88);
  font-size: 0.82rem;
  font-weight: 650;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.project-doc-media-node-empty-image .project-doc-inline-library-option-copy {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  border: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.project-doc-inline-library-status {
  margin: 0;
  color: var(--muted);
  font-size: 0.82rem;
}

.project-doc-selected-image {
  display: grid;
  grid-template-columns: 5rem minmax(8rem, 0.7fr) minmax(12rem, 1fr) auto;
  gap: 0.65rem;
  align-items: center;
  padding: 0.45rem;
  border: 1px solid var(--line);
}

.project-doc-selected-image[draggable="true"] {
  cursor: grab;
}

.project-doc-selected-image:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--text) 18%, transparent);
  outline-offset: 2px;
}

.project-doc-selected-image.is-dragging {
  cursor: grabbing;
  opacity: 0.55;
}

.project-doc-selected-image.is-drop-target {
  border-color: rgba(69, 66, 59, 0.34);
  background: #fff;
  box-shadow: 0 0 0 1px rgba(69, 66, 59, 0.08);
}

.project-doc-selected-image.is-drop-target[data-canvas-image-drop="before"] {
  box-shadow:
    inset 0 2px 0 rgba(69, 66, 59, 0.72),
    0 0 0 1px rgba(69, 66, 59, 0.08);
}

.project-doc-selected-image.is-drop-target[data-canvas-image-drop="after"] {
  box-shadow:
    inset 0 -2px 0 rgba(69, 66, 59, 0.72),
    0 0 0 1px rgba(69, 66, 59, 0.08);
}

.project-doc-node-image .project-doc-selected-image {
  grid-template-columns: 4rem minmax(0, 1fr) auto;
  padding: 0.35rem;
  background: #fff;
}

.project-doc-selected-image-preview {
  display: grid;
  place-items: center;
  aspect-ratio: 1 / 1;
  background: #f1f0ed;
  color: var(--muted);
  font-size: 0.78rem;
  overflow: hidden;
}

.project-doc-selected-image-preview img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 5rem;
  object-fit: contain;
}

.project-doc-selected-image-name {
  color: var(--muted);
  font-size: 0.86rem;
  overflow-wrap: anywhere;
}

.project-doc-selected-image-caption {
  min-width: 0;
  border: 0;
  border-bottom: 1px solid rgba(69, 66, 59, 0.16);
  border-radius: 0;
  background: transparent;
  padding: 0.32rem 0 0.22rem;
}

.project-doc-node-image .project-doc-selected-image-caption {
  grid-column: 1 / -1;
}

.project-doc-selected-image-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  justify-content: flex-end;
}

.project-doc-selected-image-move,
.project-doc-selected-image-remove {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 1.9rem;
  min-width: 1.9rem;
  height: 1.9rem;
  min-height: 1.9rem;
  border-radius: 6px;
  padding: 0;
}

.project-doc-selected-image-move:disabled {
  cursor: default;
  opacity: 0.32;
}

.project-doc-selected-image-move svg,
.project-doc-selected-image-remove svg {
  width: 0.92rem;
  height: 0.92rem;
}

.project-doc-selected-image-move:not(:disabled):hover,
.project-doc-selected-image-move:not(:disabled):focus-visible,
.project-doc-selected-image-remove:hover,
.project-doc-selected-image-remove:focus-visible {
  background: #f4f3f0;
  color: var(--text);
}

@media (hover: hover) and (pointer: fine) {
  .project-doc-selected-image:not(:hover):not(:focus-within):not(.is-dragging):not(.is-drop-target)
    .project-doc-selected-image-move {
    width: 0;
    min-width: 0;
    padding-inline: 0;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
  }
}

.project-doc-overlays {
  grid-column: 1;
  min-width: 0;
}

.project-doc-panel {
  min-width: 0;
  border: 1px solid var(--line);
  background: #fff;
  padding: 0;
  box-shadow: 0 0.5rem 1.8rem rgba(20, 20, 20, 0.025);
}

.project-doc-panel.is-targeting-media {
  border-color: #45423b;
  box-shadow: 0 0 0 2px rgba(69, 66, 59, 0.1);
}

.project-doc-image-picker {
  position: fixed;
  inset: 0;
  z-index: 55;
  display: grid;
  align-items: center;
  justify-items: center;
  padding: clamp(1rem, 4vw, 2.5rem);
  background: rgba(20, 20, 20, 0.18);
}

.project-doc-image-picker[hidden] {
  display: none;
}

.project-doc-image-picker-dialog {
  display: grid;
  gap: 0.85rem;
  width: min(42rem, calc(100vw - 2rem));
  max-height: min(42rem, calc(100vh - 2rem));
  overflow: auto;
  border: 1px solid rgba(69, 66, 59, 0.18);
  border-radius: 8px;
  background: #fff;
  padding: 0.9rem;
  box-shadow: 0 1rem 2.4rem rgba(24, 23, 21, 0.14);
}

.project-doc-image-picker-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.project-doc-image-picker-head h2 {
  margin: 0;
  font-size: 1.15rem;
}

.project-doc-library-close-button {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 2.25rem;
  min-width: 2.25rem;
  height: 2.25rem;
  min-height: 2.25rem;
  border-radius: 999px;
  padding: 0;
}

.project-doc-library-close-button .icon {
  width: 1rem;
  height: 1rem;
}

.project-doc-panel summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  min-height: 2.9rem;
  padding: 0.75rem 0.85rem;
  border-bottom: 1px solid var(--line);
  cursor: pointer;
  font-weight: 700;
}

.project-doc-panel summary span {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}

.project-doc-panel summary .icon {
  width: 0.9rem;
  height: 0.9rem;
  color: var(--muted);
}

.project-doc-panel > :not(summary) {
  margin-left: 0.85rem;
  margin-right: 0.85rem;
}

.project-doc-panel > :last-child {
  margin-bottom: 0.85rem;
}

.project-doc-panel[open] summary {
  margin-bottom: 0.75rem;
}

.project-cover-picker {
  display: grid;
  gap: 0.6rem;
}

.project-cover-options {
  display: grid;
  gap: 0.5rem;
  max-height: 24rem;
  overflow: auto;
  padding-right: 0.1rem;
}

.project-cover-option {
  position: relative;
  display: grid;
  grid-template-columns: minmax(4.6rem, 6.6rem) minmax(0, 1fr);
  gap: 0.65rem;
  align-items: center;
  min-height: 5.2rem;
  border: 1px solid var(--line);
  background: #fff;
  padding: 0.45rem;
  cursor: pointer;
}

.project-cover-option-auto {
  min-height: 4.4rem;
}

.project-cover-option input[type="radio"] {
  position: absolute;
  z-index: 1;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  opacity: 0;
}

.project-cover-option::after {
  content: "";
  position: absolute;
  top: 0.6rem;
  right: 0.6rem;
  width: 0.72rem;
  height: 0.72rem;
  border: 1px solid rgba(69, 66, 59, 0.5);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.75);
}

.project-cover-option.is-selected,
.project-cover-option:has(input:checked) {
  border-color: var(--text);
  background: #fbfaf7;
  box-shadow: inset 0 0 0 1px rgba(69, 66, 59, 0.36);
}

.project-cover-option.is-selected::after,
.project-cover-option:has(input:checked)::after {
  border-color: var(--text);
  background: var(--text);
  box-shadow:
    inset 0 0 0 2px #fff,
    0 0 0 2px rgba(255, 255, 255, 0.75);
}

.project-cover-option:focus-within {
  outline: 3px solid var(--focus);
  outline-offset: 3px;
}

.project-cover-thumb,
.project-cover-auto-thumb {
  display: grid;
  place-items: center;
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #f1f0ed;
  color: var(--muted);
}

.project-cover-auto-thumb .icon {
  width: 1.2rem;
  height: 1.2rem;
}

.project-cover-auto-thumb.has-image .icon,
.project-cover-auto-thumb:has(img) .icon {
  display: none;
}

.project-cover-preview,
.project-cover-thumb img,
.project-cover-auto-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.project-cover-copy {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.project-cover-copy strong {
  font-size: 0.88rem;
  overflow-wrap: anywhere;
}

.project-cover-copy span {
  color: var(--muted);
  font-size: 0.78rem;
  overflow-wrap: anywhere;
}

.project-cover-empty {
  align-self: center;
  width: max-content;
  max-width: 100%;
  margin: 0;
  border: 1px solid rgba(69, 66, 59, 0.12);
  border-radius: 999px;
  background: #f7f6f2;
  padding: 0.2rem 0.52rem;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.project-editor-details {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  margin: 0.95rem 0 1.35rem;
  padding: 0.35rem 0 0.4rem;
  border-top: 1px solid rgba(69, 66, 59, 0.16);
  border-bottom: 1px solid rgba(69, 66, 59, 0.1);
}

.project-editor-details .project-doc-panel {
  border: 0;
  border-top: 1px solid rgba(69, 66, 59, 0.14);
  background: transparent;
  padding: 0;
  box-shadow: none;
}

.project-editor-details .project-doc-panel:first-child {
  border-top: 0;
}

.project-editor-details .project-doc-panel summary {
  display: grid;
  grid-template-columns: minmax(8rem, 12rem) minmax(0, 1fr) 0.85rem;
  justify-content: stretch;
  align-items: center;
  column-gap: 0.7rem;
  min-height: 2.2rem;
  margin-inline: -0.42rem;
  padding: 0.34rem 0.42rem;
  border-bottom: 0;
  border-radius: 6px;
  color: var(--muted);
  font-size: 0.9rem;
  font-weight: 600;
  transition:
    background-color 140ms ease,
    color 140ms ease;
}

.project-editor-details .project-doc-panel summary::after {
  content: "";
  justify-self: center;
  width: 0.38rem;
  height: 0.38rem;
  border-right: 1.5px solid rgba(69, 66, 59, 0.5);
  border-bottom: 1.5px solid rgba(69, 66, 59, 0.5);
  transform: rotate(45deg) translateY(-0.08rem);
  transition:
    border-color 140ms ease,
    transform 140ms ease;
}

.project-editor-details .project-doc-panel[open] summary::after {
  border-color: rgba(69, 66, 59, 0.78);
  transform: rotate(225deg) translate(-0.05rem, -0.02rem);
}

.project-editor-details .project-doc-panel summary::-webkit-details-marker,
.project-doc-panel.post-editor-inline-panel summary::-webkit-details-marker {
  display: none;
}

.project-editor-details .project-doc-panel summary::marker,
.project-doc-panel.post-editor-inline-panel summary::marker {
  content: "";
}

.project-editor-details .project-doc-panel summary:hover,
.project-editor-details .project-doc-panel[open] summary {
  background: #f7f6f2;
}

.project-editor-details .project-doc-panel summary:focus-visible {
  outline: 2px solid rgba(69, 66, 59, 0.22);
  outline-offset: 2px;
  background: #f7f6f2;
}

.project-editor-details .project-doc-panel-title {
  display: inline-flex;
  align-items: center;
  gap: 0.38rem;
  min-width: 0;
}

.project-editor-details .project-doc-panel summary > span:first-child {
  color: var(--muted);
  font-size: 0.9rem;
  font-weight: 600;
}

.project-editor-details .project-doc-panel summary .icon {
  width: 0.82rem;
  height: 0.82rem;
  color: rgba(69, 66, 59, 0.62);
}

.project-editor-details .project-doc-panel[open] .project-doc-panel-title,
.project-editor-details .project-doc-panel[open] summary > span:first-child,
.project-editor-details .project-doc-panel[open] .project-cover-current,
.project-editor-details .project-doc-panel[open] .project-detail-current {
  color: var(--text);
}

.project-detail-current {
  justify-self: start;
  min-width: 0;
  color: rgba(69, 66, 59, 0.66);
  font-size: 0.8rem;
  font-weight: 500;
}

.project-detail-current.needs-attention {
  color: var(--accent-2);
}

.project-cover-current {
  display: inline-flex;
  justify-self: start;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
  max-width: 100%;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 500;
}

.project-cover-current-thumb {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 1.45rem;
  height: 1.45rem;
  overflow: hidden;
  border: 1px solid var(--line);
  background: #f5f4f1;
  color: var(--muted);
}

.project-cover-current-thumb.has-image .project-cover-current-fallback,
.project-cover-current-thumb:has(img) .project-cover-current-fallback {
  display: none;
}

.project-cover-current-thumb .icon {
  width: 0.86rem;
  height: 0.86rem;
}

.project-cover-current-preview,
.project-cover-current-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.project-cover-current [data-project-cover-summary-label] {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.project-editor-details .project-doc-panel[open] summary {
  margin-bottom: 0.15rem;
}

.project-editor-details .project-doc-panel > :not(summary) {
  margin-left: min(12rem, 24%);
  margin-right: 0;
}

.project-editor-details .helper {
  max-width: 34rem;
  margin-top: 0.2rem;
  margin-bottom: 0.55rem;
  color: rgba(69, 66, 59, 0.78);
  font-size: 0.84rem;
}

.project-editor-details .project-doc-panel > :last-child {
  margin-bottom: 0;
}

.project-companion-editor {
  display: grid;
  gap: 0.42rem;
  max-width: 34rem;
}

.project-companion-field {
  display: grid;
  grid-template-columns: 1.15rem minmax(0, 1fr);
  gap: 0.55rem;
  align-items: center;
  margin: 0;
  border: 0;
  border-bottom: 1px solid rgba(69, 66, 59, 0.16);
  border-radius: 0;
  background: transparent;
  padding: 0.12rem 0 0.14rem;
  transition:
    border-color 140ms ease,
    color 140ms ease;
}

.project-companion-field:focus-within {
  border-color: rgba(69, 66, 59, 0.3);
  background: transparent;
  box-shadow: none;
}

.project-companion-field-icon {
  width: 0.92rem;
  height: 0.92rem;
  color: rgba(69, 66, 59, 0.58);
}

.project-editor-details .project-doc-panel-companion input,
.project-companion-field input {
  min-height: 2rem;
  border: 0;
  background: transparent;
  padding: 0.28rem 0;
  color: var(--text);
  font-size: 0.9rem;
}

.project-editor-details .project-doc-panel-companion input:focus,
.project-companion-field input:focus {
  outline: 0;
}

.project-editor-details .project-doc-panel-companion input::placeholder,
.project-companion-field input::placeholder {
  color: rgba(69, 66, 59, 0.44);
}

.project-editor-details .project-doc-panel-companion .helper,
.project-editor-details .project-doc-panel-companion .errorlist {
  margin: 0.02rem 0 0;
}

.project-editor-details .project-doc-panel-companion .errorlist {
  font-size: 0.82rem;
}

.project-editor-details .project-doc-panel-cover > .helper {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.project-editor-details [data-project-cover-select] {
  display: none;
}

.project-editor-details .project-cover-picker {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 0.48rem;
  overflow-x: auto;
  padding: 0.05rem 0.6rem 0.35rem 0;
  scrollbar-width: none;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
}

.project-editor-details .project-cover-picker::-webkit-scrollbar {
  display: none;
}

.project-editor-details .project-cover-options {
  display: contents;
}

.project-editor-details .project-cover-option {
  flex: 0 0 6.35rem;
  width: auto;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  align-items: start;
  min-height: 0;
  border-color: transparent;
  border-radius: 7px;
  background: transparent;
  padding: 0.18rem;
  scroll-snap-align: start;
  box-shadow: none;
}

.project-editor-details .project-cover-option:hover,
.project-editor-details .project-cover-option:focus-within {
  border-color: rgba(69, 66, 59, 0.16);
  background: #fbfaf7;
}

.project-editor-details .project-cover-option-auto {
  flex: 0 0 6.35rem;
  min-height: 0;
}

.project-editor-details .project-cover-option::after {
  display: none;
}

.project-editor-details .project-cover-option.is-selected::after,
.project-editor-details .project-cover-option:has(input:checked)::after {
  display: block;
  top: 0.35rem;
  right: 0.35rem;
  width: 0.98rem;
  height: 0.98rem;
  border: 0;
  background: var(--text);
  box-shadow:
    0 0 0 2px #fff,
    0 0.28rem 0.72rem rgba(24, 23, 21, 0.18);
}

.project-editor-details .project-cover-option.is-selected::before,
.project-editor-details .project-cover-option:has(input:checked)::before {
  content: "";
  position: absolute;
  top: 0.62rem;
  right: 0.6rem;
  z-index: 1;
  width: 0.36rem;
  height: 0.2rem;
  border-bottom: 2px solid #fff;
  border-left: 2px solid #fff;
  transform: rotate(-45deg);
}

.project-editor-details .project-cover-option.is-selected,
.project-editor-details .project-cover-option:has(input:checked) {
  border-color: rgba(69, 66, 59, 0.46);
  background: #fbfaf7;
  box-shadow:
    0 0 0 1px rgba(69, 66, 59, 0.16),
    inset 0 0 0 1px rgba(69, 66, 59, 0.1);
}

.project-editor-details .project-cover-thumb,
.project-editor-details .project-cover-auto-thumb {
  aspect-ratio: 4 / 3;
  border: 1px solid rgba(69, 66, 59, 0.12);
  background: #f3f2ef;
}

.project-editor-details .project-cover-auto-thumb .icon {
  width: 1rem;
  height: 1rem;
}

.project-editor-details .project-cover-copy {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.project-document-form:has(.project-editor-details .project-doc-panel[open]) .project-doc-inline-reorder,
.project-document-form:has(.project-editor-details .project-doc-panel[open])
  .project-doc-media-node-has-images
  .project-doc-media-head {
  display: none !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

.project-doc-panel .subnav {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.35rem;
  align-items: center;
  margin: 0.75rem 0;
  overflow-x: auto;
  padding-bottom: 0.08rem;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.project-doc-panel .subnav::-webkit-scrollbar {
  display: none;
}

.project-doc-panel .subnav a {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 0.28rem;
  min-height: 1.85rem;
  border: 1px solid rgba(69, 66, 59, 0.14);
  border-radius: 999px;
  background: #fbfaf7;
  padding: 0.24rem 0.58rem;
  color: var(--muted);
  text-decoration: none;
  font-size: 0.8rem;
  font-weight: 650;
  line-height: 1;
  white-space: nowrap;
}

.project-doc-panel .subnav a:hover,
.project-doc-panel .subnav a:focus-visible {
  border-color: rgba(69, 66, 59, 0.26);
  color: var(--text);
}

.project-doc-panel .subnav a.active,
.project-doc-panel .subnav a[aria-current="page"] {
  border-color: rgba(69, 66, 59, 0.72);
  background: #45423b;
  color: #fff;
}

.project-doc-panel .subnav a span {
  color: currentColor;
  opacity: 0.72;
}

.project-doc-library-search {
  display: grid;
  grid-template-columns: 1rem minmax(0, 1fr);
  gap: 0.45rem;
  align-items: center;
  margin-top: 0.75rem;
  border: 1px solid rgba(69, 66, 59, 0.15);
  border-radius: 999px;
  background: #fbfaf7;
  padding: 0 0.64rem;
}

.project-doc-library-search:focus-within {
  border-color: rgba(69, 66, 59, 0.46);
  background: #fff;
  box-shadow: 0 0 0 2px rgba(69, 66, 59, 0.08);
}

.project-doc-library-search-icon {
  width: 0.9rem;
  height: 0.9rem;
  color: rgba(69, 66, 59, 0.56);
}

.project-doc-library-search input {
  width: 100%;
  min-height: 2.1rem;
  border: 0;
  background: transparent;
  padding: 0.42rem 0;
}

.project-doc-library-search input:focus,
.project-doc-library-search input:focus-visible {
  outline: 0;
}

.project-doc-library-option {
  min-width: 0;
}

.project-doc-library-target {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 1.5rem;
  margin: 0.45rem 0 0;
  border: 1px solid rgba(69, 66, 59, 0.12);
  border-radius: 6px;
  background: #f7f6f2;
  padding: 0.16rem 0.48rem;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.project-doc-library-count {
  margin: 0.45rem 0 0.75rem;
  color: var(--muted);
  font-size: 0.82rem;
}

.project-doc-library-count[hidden] {
  display: none;
}

.project-doc-library-target[hidden] {
  display: none;
}

.project-doc-library-option.is-target-candidate {
  background: #fbfbfa;
}

.project-doc-library-option:has(input:checked) {
  border-color: var(--text);
}

.project-doc-readiness {
  margin-top: 0.9rem;
  color: var(--muted);
  font-size: 0.9rem;
}

.project-doc-savebar {
  grid-column: 1;
  justify-content: space-between;
  align-items: center;
  gap: 0.8rem;
  margin: clamp(1.75rem, 5vw, 3.4rem) 0 0;
  padding: 0.9rem 0 0;
  border-top: 1px solid rgba(69, 66, 59, 0.14);
  background: transparent;
}

.project-document-form:has([data-inline-library-picker]) .project-doc-savebar {
  display: none;
}

.project-doc-save-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  justify-content: flex-end;
}

.project-doc-save-actions .button.secondary.project-doc-delete-draft-link {
  border-color: transparent;
  background: transparent;
  color: rgba(69, 66, 59, 0.58);
  box-shadow: none;
  font-weight: 520;
}

.project-doc-save-actions .button.secondary.project-doc-delete-draft-link:hover,
.project-doc-save-actions .button.secondary.project-doc-delete-draft-link:focus-visible {
  border-color: rgba(159, 29, 32, 0.18);
  background: rgba(159, 29, 32, 0.055);
  color: #7f1719;
}

.project-doc-save-status {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0 auto 0 0;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 540;
  line-height: 1.25;
}

.project-doc-save-status::before {
  content: "";
  flex: 0 0 auto;
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 50%;
  background: rgba(69, 66, 59, 0.24);
}

.project-document-form[data-project-document-dirty] .project-doc-save-status {
  color: rgba(69, 66, 59, 0.82);
}

.project-doc-save-status[data-project-save-state="dirty"]::before,
.project-doc-save-status[data-project-save-state="preview"]::before,
.project-doc-save-status[data-editor-save-state="dirty"]::before,
.project-doc-save-status[data-editor-save-state="preview"]::before {
  background: #a36f2f;
}

.project-doc-save-status[data-project-save-state="submitting"]::before,
.project-doc-save-status[data-editor-save-state="submitting"]::before {
  background: var(--text);
  animation: project-save-status-pulse 1.15s ease-in-out infinite;
}

@keyframes project-save-status-pulse {
  0%,
  100% {
    opacity: 0.38;
  }

  50% {
    opacity: 1;
  }
}

.section-heading {
  display: grid;
  gap: 0.2rem;
}

.section-heading h2,
.section-heading p {
  margin: 0;
}

.composer-image-picker {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(8rem, 1fr));
  gap: 0.75rem;
}

.composer-image-option {
  position: relative;
  display: grid;
  grid-template-rows: auto minmax(2.4rem, auto);
  gap: 0.45rem;
  border: 1px solid var(--line);
  background: #fff;
  padding: 0.55rem;
  cursor: pointer;
}

.composer-image-option.is-selected,
.composer-image-option:has(input:checked) {
  border-color: var(--text);
  background: #fbfaf7;
  box-shadow: inset 0 0 0 2px var(--text);
}

.composer-image-option:focus-within {
  outline: 3px solid var(--focus);
  outline-offset: 3px;
}

.composer-image-option.is-disabled {
  cursor: not-allowed;
  opacity: 0.45;
}

.composer-image-option::before {
  content: "";
  position: absolute;
  top: 0.62rem;
  left: 0.62rem;
  z-index: 2;
  width: 1.08rem;
  height: 1.08rem;
  border: 1px solid rgba(69, 66, 59, 0.34);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 0.26rem 0.7rem rgba(24, 23, 21, 0.14);
  pointer-events: none;
}

.composer-image-option::after {
  content: "";
  position: absolute;
  top: 0.96rem;
  left: 0.92rem;
  z-index: 3;
  width: 0.42rem;
  height: 0.22rem;
  border-bottom: 2px solid #fff;
  border-left: 2px solid #fff;
  opacity: 0;
  pointer-events: none;
  transform: rotate(-45deg);
}

.composer-image-option.is-selected::before,
.composer-image-option:has(input:checked)::before {
  border-color: var(--text);
  background: var(--text);
  box-shadow:
    0 0 0 2px #fff,
    0 0.26rem 0.7rem rgba(24, 23, 21, 0.16);
}

.composer-image-option.is-selected::after,
.composer-image-option:has(input:checked)::after {
  opacity: 1;
}

.profile-image-picker-current {
  display: grid;
  grid-template-columns: minmax(6rem, 8rem) 1fr;
  gap: 0.85rem;
  align-items: center;
}

.profile-image-current-preview,
.profile-image-crop-preview {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1 / 1;
  border-radius: 0;
  border: 1px solid var(--line);
  background: #f4f3ef;
}

.profile-image-current-preview {
  width: min(8rem, 36vw);
}

.profile-image-current-img,
.profile-image-crop-preview img {
  position: absolute;
  max-width: none;
  object-fit: fill;
  user-select: none;
  -webkit-user-drag: none;
}

.profile-image-current-empty {
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  padding: 0.75rem;
  color: var(--muted);
  text-align: center;
  font-size: 0.9rem;
}

.profile-image-picker-actions,
.profile-image-dialog-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.profile-image-dialog {
  width: min(56rem, calc(100vw - 2rem));
  max-height: min(48rem, calc(100vh - 2rem));
  border: 1px solid var(--text);
  padding: 0;
  background: #fff;
}

.profile-image-dialog::backdrop {
  background: rgba(17, 16, 14, 0.46);
}

.profile-image-dialog-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  padding: 0.85rem 1rem;
  border-bottom: 1px solid var(--line);
}

.profile-image-dialog-head h3 {
  margin: 0;
}

.profile-image-dialog-body {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(16rem, 0.75fr);
  gap: 1rem;
  padding: 1rem;
  overflow: auto;
}

.profile-image-library-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(7rem, 1fr));
  gap: 0.6rem;
  align-content: start;
}

.profile-image-library-option {
  display: grid;
  grid-template-rows: auto minmax(2.2rem, auto);
  gap: 0.4rem;
  border: 1px solid var(--line);
  background: #fff;
  padding: 0.45rem;
  cursor: pointer;
  text-align: left;
  color: var(--text);
}

.profile-image-library-option[aria-pressed="true"] {
  border-color: var(--text);
  box-shadow: inset 0 0 0 1px var(--text);
}

.profile-image-library-option:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 3px;
}

.profile-image-library-option span:last-child {
  font-size: 0.82rem;
  line-height: 1.2;
}

.profile-image-crop-panel {
  display: grid;
  gap: 0.8rem;
  align-content: start;
  justify-items: center;
}

.profile-image-crop-panel[hidden] {
  display: none;
}

.profile-image-selection-status {
  justify-self: stretch;
  margin: 0;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.profile-image-crop-preview {
  width: min(18rem, 70vw);
  border: 2px solid var(--text);
  cursor: grab;
  touch-action: none;
  box-shadow: 0 0 0 0.45rem #fff, 0 0 0 0.55rem var(--line);
}

.profile-image-crop-preview::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 2px solid rgba(255, 255, 255, 0.92);
  border-radius: 50%;
  box-shadow: inset 0 0 0 1px rgba(17, 16, 14, 0.34);
  pointer-events: none;
}

.profile-image-crop-preview:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 0.7rem;
}

.profile-image-crop-preview.is-dragging {
  cursor: grabbing;
}

.profile-image-crop-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  justify-content: center;
}

.profile-image-crop-tools .button {
  min-width: 2.4rem;
}

.profile-image-zoom-status {
  min-height: 1.2em;
  margin: -0.15rem 0 0;
  text-align: center;
}

.composer-selection-status {
  width: max-content;
  max-width: 100%;
  margin: 0;
  padding: 0.28rem 0.5rem;
  border: 1px solid var(--line);
  background: var(--panel);
  color: var(--text);
  font-weight: 700;
}

.composer-image-thumb {
  display: grid;
  place-items: center;
  min-height: 6.5rem;
  max-height: 10rem;
  background: #f1f0ed;
  overflow: hidden;
}

.composer-image-thumb img,
.composer-image-preview {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 10rem;
  object-fit: contain;
}

.composer-image-label {
  font-size: 0.86rem;
  color: var(--muted);
  overflow-wrap: anywhere;
}

.composer-image-copy {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
}

.composer-image-title {
  color: rgba(69, 66, 59, 0.88);
  font-size: 0.82rem;
  font-weight: 650;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.composer-image-option.is-selected .composer-image-label,
.composer-image-option:has(input:checked) .composer-image-label {
  color: var(--text);
  font-weight: 700;
}

.errorlist {
  margin: 0;
  padding-left: 1.1rem;
  color: var(--accent-2);
}

input,
textarea,
select {
  width: 100%;
  border: 1px solid var(--line);
  background: #fff;
  padding: 0.7rem;
}

input[type="checkbox"],
input[type="radio"] {
  width: auto;
}

.composer-image-option input[type="checkbox"] {
  position: absolute;
  z-index: 2;
  top: 0.62rem;
  left: 0.62rem;
  width: 1.08rem;
  height: 1.08rem;
  margin: 0;
  padding: 0;
  opacity: 0;
  cursor: pointer;
}

.post-editor-library-option.is-selected,
.post-editor-library-option:has(input:checked) {
  border-color: #514d45;
  background: #fbfaf7;
  box-shadow: inset 0 0 0 1px #514d45;
}

.post-editor-library-option input[type="checkbox"] {
  top: 0.62rem;
  left: 0.62rem;
  width: 1.15rem;
  height: 1.15rem;
  box-shadow: 0 0 0 2px #fff;
}

.signup-acknowledgements {
  display: grid;
  gap: 0.8rem;
  margin: 1.2rem 0;
  padding: 1rem;
  border: 1px solid var(--line);
}

.checkbox-field {
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.35rem 0.65rem;
  align-items: start;
}

.checkbox-field input {
  margin-top: 0.2rem;
}

.checkbox-field .errorlist {
  grid-column: 2;
}

label {
  font-weight: 600;
}

.field-label {
  margin: 0;
  font-weight: 600;
}

.page-title-row,
.profile-header,
.split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2rem;
  align-items: start;
}

.profile-header {
  width: min(1120px, calc(100% - 2rem));
  margin: 3rem auto 0;
  grid-template-columns: minmax(8rem, 260px) minmax(0, 1fr) minmax(12rem, 17rem);
  gap: clamp(1.25rem, 4vw, 3.5rem);
  align-items: center;
  border-bottom: 1px solid var(--line);
  padding-bottom: 2rem;
}

.profile-header:not(:has(.profile-header-media)) {
  grid-template-columns: minmax(0, 1fr) minmax(12rem, 17rem);
}

.profile-header:not(:has(.profile-side)) {
  grid-template-columns: minmax(8rem, 260px) minmax(0, 1fr);
}

.profile-header:not(:has(.profile-header-media)):not(:has(.profile-side)) {
  grid-template-columns: minmax(0, 1fr);
}

.profile-header-main,
.profile-header-media {
  min-width: 0;
}

.profile-subpage-tabs {
  width: min(1120px, calc(100% - 2rem));
  margin: 0 auto 2rem;
  display: flex;
  gap: 0.35rem;
  overflow-x: auto;
  border-bottom: 1px solid var(--line);
}

.profile-subpage-tabs a {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  min-height: 2.65rem;
  padding: 0.15rem 0.2rem 0;
  border-bottom: 2px solid transparent;
  color: var(--muted);
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.profile-subpage-tabs a.active {
  border-bottom-color: var(--accent);
  color: var(--text);
}

.profile-subpage-tabs span {
  min-width: 1.45rem;
  padding: 0.1rem 0.35rem;
  border: 1px solid var(--line);
  text-align: center;
  font-size: 0.78rem;
  color: var(--muted);
}

.page-section > .profile-subpage-tabs {
  width: 100%;
  margin: 1rem 0 1.5rem;
}

.profile-subpage-shell {
  width: min(1120px, calc(100% - 2rem));
  margin: 3rem auto;
}

.profile-subpage-shell > .profile-subpage-tabs {
  width: 100%;
  margin: 1rem 0 1.5rem;
}

.profile-subpage-shell > .section-title-row h1 {
  margin: 0;
}

@media (max-width: 480px) {
  .profile-subpage-tabs {
    width: min(1120px, calc(100% - 1rem));
    gap: 0.12rem;
    overflow-x: visible;
  }

  .profile-subpage-tabs a {
    min-height: 2.35rem;
    padding-inline: 0.08rem;
    font-size: 0.75rem;
  }

  .profile-subpage-shell {
    width: min(1120px, calc(100% - 1rem));
    margin-block: 2rem;
  }
}

.profile-body {
  width: min(1120px, calc(100% - 2rem));
  margin: 0 auto 3rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(2.5rem, 6vw, 5rem);
  align-items: start;
}

.profile-grid-section {
  display: grid;
  gap: 1rem;
  min-height: 0;
  aspect-ratio: auto;
  overflow: visible;
  border: 0;
  background: transparent;
  padding: 0;
}

.profile-grid-section h2 {
  margin: 0;
  font-size: clamp(1.45rem, 2.6vw, 2.25rem);
}

.profile-grid-block--span-2 {
  grid-column: 1 / -1;
  min-height: 0;
  aspect-ratio: auto;
}

.profile-grid-section--empty,
.profile-grid-section--empty.profile-grid-block--span-2 {
  min-height: auto;
  aspect-ratio: auto;
}

.profile-body .empty-panel {
  width: 100%;
  align-self: start;
  margin: 0;
}

.profile-grid-section > .masonry,
.profile-grid-section > .project-list,
.profile-grid-section > .profile-curated-grid {
  min-height: 0;
  overflow: visible;
  padding-right: 0;
}

.profile-grid-section > .masonry {
  display: block;
  column-count: 3;
  column-gap: clamp(0.85rem, 2vw, 1.25rem);
}

.profile-grid-section > .project-list {
  display: block;
  column-count: 3;
  column-gap: clamp(0.85rem, 2vw, 1.25rem);
}

.profile-grid-block--span-2 > .profile-curated-grid {
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 10rem), 1fr));
}

.profile-grid-section .work-tile {
  min-height: 0;
  display: inline-grid;
  width: 100%;
  gap: 0.38rem;
  break-inside: avoid;
  margin: 0 0 clamp(1rem, 2vw, 1.35rem);
  place-items: stretch;
  aspect-ratio: auto;
  border: 0;
  background: transparent;
  color: var(--text);
  overflow: visible;
}

.profile-grid-section .work-tile img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  max-height: none;
  aspect-ratio: auto;
  object-fit: contain;
  background: #f4f3ef;
  border-radius: var(--work-thumbnail-radius);
}

.profile-grid-section .profile-work-card {
  position: relative;
  text-decoration: none;
}

.profile-grid-section .work-tile .profile-work-type {
  justify-self: auto;
}

.profile-grid-section .profile-work-card .profile-work-type {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  bottom: auto;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  max-width: calc(100% - 1rem);
  padding: 0.22rem 0.45rem;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 999px;
  background: rgba(19, 20, 18, 0.78);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 750;
  letter-spacing: 0;
  line-height: 1;
  opacity: 0;
  pointer-events: none;
  text-transform: none;
  transform: translateY(-0.2rem);
  transition: opacity 160ms ease, transform 160ms ease;
}

.profile-grid-section .profile-work-card:focus-visible .profile-work-type {
  opacity: 1;
  transform: translateY(0);
}

.profile-work-type-icon {
  width: 0.88rem;
  height: 0.88rem;
  flex: 0 0 auto;
  stroke-width: 2.2;
}

.profile-work-tile-title {
  display: block;
  color: var(--text);
  font-size: 0.96rem;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.profile-grid-section .project-card {
  display: inline-block;
  width: 100%;
  break-inside: avoid;
  margin: 0 0 clamp(1rem, 2vw, 1.35rem);
  border: 0;
  padding: 0;
  background: transparent;
}

.profile-grid-section .project-card strong {
  display: block;
  color: var(--text);
  font-size: 1rem;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.profile-grid-section .project-card p {
  margin-bottom: 0;
}

.profile-curated-grid,
.profile-grid-settings-list {
  display: grid;
  gap: 1rem;
}

.profile-curated-grid {
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr));
}

.profile-curated-item {
  min-width: 0;
}

.profile-curated-grid--layout-masonry {
  display: block;
  column-count: 3;
  column-gap: clamp(0.85rem, 2vw, 1.25rem);
}

.profile-grid-block--span-2 > .profile-curated-grid--layout-masonry {
  column-count: 3;
}

.profile-curated-grid--layout-masonry > .profile-curated-item {
  display: inline-block;
  width: 100%;
  margin: 0 0 1rem;
  break-inside: avoid;
}

.profile-curated-grid--layout-simple-grid {
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 9rem), 1fr));
}

.profile-grid-block--span-2 > .profile-curated-grid--layout-simple-grid {
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 11rem), 1fr));
}

.profile-curated-grid--layout-feature-carousel {
  grid-template-columns: none;
  grid-auto-flow: column;
  grid-auto-columns: minmax(min(84%, 22rem), 72%);
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x mandatory;
  padding-bottom: 0.35rem;
}

.profile-grid-block--span-2 > .profile-curated-grid--layout-feature-carousel {
  grid-auto-columns: minmax(min(70%, 26rem), 46%);
}

.profile-curated-grid--layout-feature-carousel > .profile-curated-item {
  scroll-snap-align: start;
}

.profile-ephemeral-rail {
  grid-template-columns: none;
  grid-auto-flow: column;
  grid-auto-columns: minmax(7.6rem, 10rem);
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x proximity;
  padding-bottom: 0.35rem;
}

.profile-ephemeral-rail > .profile-curated-item {
  scroll-snap-align: start;
}

.profile-ephemeral-rail .work-tile img {
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.profile-curated-grid--layout-feature-carousel .work-tile,
.profile-curated-grid--layout-feature-carousel .project-card,
.profile-curated-grid--layout-feature-carousel .profile-static-image {
  min-height: min(20rem, 58vh);
}

.profile-curated-grid--layout-feature-carousel .profile-work-tile-title {
  display: block;
  position: absolute;
  left: 0.6rem;
  right: 0.6rem;
  bottom: 2.4rem;
  color: #fff;
  font-weight: 750;
  line-height: 1.15;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.55);
}

.profile-curated-grid--layout-vertical-list {
  grid-template-columns: 1fr;
}

.profile-curated-grid--layout-vertical-list .work-tile {
  grid-template-columns: minmax(6rem, 12rem) minmax(0, 1fr);
  gap: 0.75rem;
  place-items: center start;
  min-height: 0;
  padding: 0.75rem;
  background: #fff;
}

.profile-curated-grid--layout-vertical-list .work-tile img {
  width: auto;
  max-height: 11rem;
  margin: 0;
}

.profile-curated-grid--layout-vertical-list .work-tile span:not(.profile-work-type) {
  position: static;
  grid-column: 2;
  background: transparent;
  color: var(--muted);
  padding: 0;
}

.profile-curated-grid--layout-vertical-list .profile-work-tile-title {
  display: block;
  grid-column: 2;
  color: var(--text);
  font-size: 1rem;
  line-height: 1.2;
}

.profile-curated-grid--layout-vertical-list .project-card {
  display: grid;
  grid-template-columns: minmax(6rem, 12rem) minmax(0, 1fr);
  gap: 0.75rem;
  align-items: start;
}

.profile-curated-grid--layout-vertical-list .project-card img {
  grid-row: span 3;
  margin: 0;
  max-height: 11rem;
}

.profile-curated-grid--mixed {
  grid-auto-flow: dense;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.profile-grid-block--span-2 > .profile-curated-grid--mixed {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.profile-curated-grid--mixed .profile-curated-item--project,
.profile-curated-grid--mixed .profile-curated-item--text {
  grid-column: span 2;
}

.profile-grid-block--span-2 > .profile-curated-grid--mixed .profile-curated-item--image:first-child {
  grid-row: span 2;
}

.profile-curated-grid .work-tile,
.profile-curated-grid .project-card {
  min-height: 0;
}

.profile-curated-grid .project-card img,
.project-list .project-card img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  max-height: none;
  aspect-ratio: auto;
  object-fit: contain;
  background: #f4f3ef;
  border-radius: var(--work-thumbnail-radius);
  margin: 0 0 0.55rem;
}

.profile-static-image,
.profile-text-card {
  min-width: 0;
  margin: 0;
  border: 1px solid var(--line);
  background: #fff;
}

.profile-static-image {
  display: grid;
  place-items: center;
  min-height: 220px;
  overflow: hidden;
  border-radius: var(--work-thumbnail-radius);
}

.profile-static-image img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: min(22rem, 56vh);
  aspect-ratio: auto;
  object-fit: contain;
  background: #f4f3ef;
  border-radius: inherit;
}

.profile-text-card {
  display: grid;
  align-content: center;
  min-height: 220px;
  padding: clamp(0.85rem, 2vw, 1.25rem);
  overflow-wrap: anywhere;
}

.profile-text-card p {
  margin: 0;
  color: var(--text);
  font-size: clamp(1rem, 1.7vw, 1.2rem);
  line-height: 1.45;
}

.profile-grid-settings-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: start;
}

.profile-grid-settings-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: flex-end;
}

.profile-grid-settings-actions form {
  margin: 0;
}

.profile-block-type-field,
.profile-layout-style-field {
  border: 0;
  margin: 0 0 1rem;
  padding: 0;
}

.profile-block-type-field legend,
.profile-layout-style-field legend {
  margin-bottom: 0.75rem;
  font-weight: 700;
}

.profile-block-type-options,
.profile-layout-style-options {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.75rem;
}

.profile-block-type-option,
.profile-layout-style-option {
  position: relative;
  min-height: 7rem;
  border: 1px solid var(--line);
  background: #fff;
  padding: 0.85rem;
  cursor: pointer;
}

.profile-block-type-option:has(input:checked),
.profile-layout-style-option:has(input:checked) {
  border-color: var(--text);
  box-shadow: inset 0 0 0 1px var(--text);
}

.profile-block-type-option input,
.profile-layout-style-option input {
  position: absolute;
  inset: 0.75rem 0.75rem auto auto;
}

.profile-block-type-option span,
.profile-layout-style-option span {
  display: grid;
  gap: 0.45rem;
  padding-right: 1.25rem;
}

.profile-block-type-option strong,
.profile-block-type-option small,
.profile-layout-style-option strong,
.profile-layout-style-option small {
  overflow-wrap: anywhere;
}

.profile-block-type-option small,
.profile-layout-style-option small {
  color: var(--muted);
  line-height: 1.35;
}

.profile-layout-presets {
  display: grid;
  gap: 1rem;
}

.profile-layout-preset-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}

.profile-layout-preset-form {
  display: grid;
  gap: 0.75rem;
  margin: 0;
}

.profile-layout-preset-form label {
  display: grid;
  gap: 0.35rem;
}

.profile-layout-preset-form label > span:first-child,
.profile-layout-confirm {
  color: var(--muted);
  font-size: 0.92rem;
}

.profile-layout-confirm {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
}

.profile-layout-preset-select select,
.profile-layout-preset-name input {
  width: 100%;
  min-height: 2.45rem;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--text);
  padding: 0.45rem 0.6rem;
}

.profile-layout-preset-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.profile-layout-preset-list li {
  border: 1px solid var(--line);
  background: #fff;
  padding: 0.35rem 0.55rem;
  font-size: 0.9rem;
}

.profile-layout-editor {
  display: grid;
  gap: 1rem;
}

.profile-layout-editor .split {
  align-items: center;
}

.profile-layout-editor h2 {
  margin: 0;
}

.profile-layout-status {
  min-height: 1.4rem;
  margin: 0;
}

.profile-layout-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  align-items: stretch;
}

.profile-layout-block {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 0.85rem;
  min-height: 15rem;
  aspect-ratio: 1 / 1;
  border: 1px solid var(--line);
  background: #fff;
  padding: 0.85rem;
}

.profile-layout-block--span-2 {
  grid-column: 1 / -1;
  min-height: 13rem;
  aspect-ratio: 2 / 1;
}

.profile-layout-block-header,
.profile-layout-block-actions,
.profile-layout-secondary-actions {
  display: flex;
  gap: 0.65rem;
  align-items: flex-start;
}

.profile-layout-block-header {
  align-items: center;
}

.profile-layout-block-actions {
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
}

.profile-layout-secondary-actions {
  justify-content: flex-end;
  flex-wrap: wrap;
}

.profile-layout-secondary-actions form {
  margin: 0;
}

.profile-layout-drag-handle {
  flex: 0 0 auto;
  width: 2.35rem;
  height: 2.35rem;
  border: 1px solid var(--line);
  background: #fff;
  display: inline-grid;
  place-items: center;
  cursor: grab;
  touch-action: none;
}

.profile-layout-drag-handle span {
  position: relative;
  display: block;
  width: 0.22rem;
  height: 0.22rem;
  border-radius: 999px;
  background: var(--muted);
  box-shadow:
    -0.42rem -0.42rem 0 var(--muted),
    0 -0.42rem 0 var(--muted),
    0.42rem -0.42rem 0 var(--muted),
    -0.42rem 0 0 var(--muted),
    0.42rem 0 0 var(--muted),
    -0.42rem 0.42rem 0 var(--muted),
    0 0.42rem 0 var(--muted),
    0.42rem 0.42rem 0 var(--muted);
}

.profile-layout-section-meta {
  display: grid;
  min-width: 0;
}

.profile-layout-section-meta span {
  color: var(--muted);
  font-size: 0.9rem;
}

.profile-layout-preview {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  gap: 0.45rem;
  min-height: 0;
}

.profile-layout-preview span {
  border: 1px solid var(--line);
  background: #f5f4f1;
}

.profile-layout-span-controls {
  display: inline-flex;
  border: 1px solid var(--line);
  background: #fff;
}

.profile-layout-span-controls button {
  appearance: none;
  border: 0;
  border-right: 1px solid var(--line);
  background: transparent;
  color: var(--text);
  min-height: 2rem;
  padding: 0.35rem 0.6rem;
  cursor: pointer;
}

.profile-layout-span-controls button:last-child {
  border-right: 0;
}

.profile-layout-span-controls button[aria-pressed="true"] {
  background: var(--text);
  color: #fff;
}

.profile-layout-block.is-dragging {
  opacity: 0.58;
  pointer-events: none;
  transform: scale(0.985);
}

.profile-layout-grid.is-dragging-layout,
.profile-layout-grid.is-dragging-layout .profile-layout-drag-handle {
  cursor: grabbing;
}

body.profile-layout-is-dragging {
  user-select: none;
}

.profile-grid-toggle-form {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.profile-grid-toggle-form label {
  display: inline-flex;
  gap: 0.35rem;
  align-items: center;
  color: var(--muted);
  font-size: 0.9rem;
}

.profile-grid-toggle-form .profile-grid-default-layout {
  color: var(--text);
}

.profile-grid-default-layout span {
  color: var(--muted);
  font-weight: 700;
}

.profile-grid-default-layout select {
  min-height: 2.2rem;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--text);
  padding: 0.35rem 0.55rem;
}

.profile-image {
  position: relative;
  width: min(260px, 100%);
  margin: 0;
}

.profile-image > img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.profile-image .profile-picture-crop {
  width: 100%;
}

.profile-page-picture {
  width: 100%;
}

.profile-image-edit-link {
  position: absolute;
  right: 0.65rem;
  bottom: 0.65rem;
  display: inline-grid;
  place-items: center;
  width: 2.35rem;
  height: 2.35rem;
  border: 1px solid var(--text);
  border-radius: 999px;
  background: #fff;
  color: var(--text);
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  opacity: 0;
  pointer-events: none;
  transform: translateY(0.25rem);
  transition: opacity 140ms ease, transform 140ms ease;
}

.profile-image-edit-icon {
  width: 1rem;
  height: 1rem;
}

.profile-image:hover .profile-image-edit-link,
.profile-image:focus-within .profile-image-edit-link,
.profile-image.is-edit-visible .profile-image-edit-link {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.profile-link-section {
  margin-top: 1rem;
}

.profile-contact-panel {
  display: grid;
  gap: 1.25rem;
  max-width: 46rem;
}

.profile-long-text {
  max-width: 46rem;
  font-size: clamp(1.05rem, 1vw + 0.82rem, 1.28rem);
  line-height: 1.6;
}

.profile-long-text > * {
  margin-block: 0 1rem;
}

.profile-long-text > *:last-child {
  margin-bottom: 0;
}

.profile-long-text h2 {
  margin-top: 2rem;
  font-family: var(--serif);
  font-size: clamp(1.45rem, 1.5vw + 1rem, 2rem);
  line-height: 1.1;
}

.profile-long-text a {
  color: var(--focus);
  font-weight: 700;
  overflow-wrap: anywhere;
  text-decoration: underline;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.18em;
}

.profile-long-text ul,
.profile-long-text ol {
  padding-left: 1.25rem;
}

.profile-contact-panel > .helper {
  margin: 0;
  padding: 0.85rem;
  border: 1px solid var(--line);
  background: #f8f7f4;
}

.profile-contact-text:not(.profile-long-text) {
  display: grid;
  gap: 0.85rem;
  font-size: clamp(1.05rem, 1vw + 0.82rem, 1.28rem);
  line-height: 1.55;
}

.profile-contact-text:not(.profile-long-text) p {
  margin: 0;
}

.profile-contact-link {
  margin: 0;
}

.profile-contact-link a {
  color: var(--focus);
  font-weight: 700;
  overflow-wrap: anywhere;
  text-decoration: underline;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.18em;
}

.profile-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  margin: 0;
}

.profile-primary-link,
.profile-platform-link {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  min-height: 2rem;
  color: var(--focus);
  font-weight: 650;
  line-height: 1.2;
  overflow-wrap: anywhere;
  text-decoration: underline;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.18em;
}

.profile-primary-link:hover,
.profile-platform-link:hover {
  color: #184da8;
}

.profile-platform-link {
  border: 1px solid #9dbcec;
  padding: 0.2rem 0.55rem;
  background: #f3f7ff;
  font-size: 0.88rem;
}

.profile-platform-link:hover {
  border-color: var(--focus);
  background: #e8f1ff;
}

.profile-collective-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 0.8rem 0;
}

.profile-collective-badge {
  border: 1px solid var(--line);
  padding: 0.22rem 0.6rem;
  background: var(--panel);
  color: var(--accent);
  font-size: 0.88rem;
  font-weight: 700;
  text-decoration: none;
}

.profile-collective-badge:hover,
.profile-collective-badge:focus-visible {
  border-color: var(--focus);
  color: var(--focus);
}

.profile-side {
  display: grid;
  align-self: stretch;
  align-content: center;
  justify-items: stretch;
  gap: 1rem;
  padding-left: clamp(1rem, 3vw, 2rem);
  border-left: 1px solid var(--line);
}

.owner-actions {
  display: grid;
  gap: 0.55rem;
  width: min(100%, 17rem);
  margin-left: auto;
}

.profile-action {
  width: 100%;
  gap: 0.6rem;
  justify-content: flex-start;
  border-color: var(--line);
  background: #fff;
  color: var(--text);
  font-weight: 700;
  box-shadow: 0 0.25rem 1rem rgba(17, 17, 17, 0.04);
}

.profile-action:hover,
.profile-action:focus-visible {
  border-color: var(--text);
}

.profile-action-icon {
  width: 1rem;
  height: 1rem;
}

.profile-action-label--mobile {
  display: none;
}

.profile-create-menu {
  position: relative;
  min-width: 0;
}

.profile-create-menu summary {
  list-style: none;
}

.profile-create-menu summary::-webkit-details-marker {
  display: none;
}

.profile-create-summary {
  border-color: var(--text);
  background: var(--text);
  color: #fff;
}

.profile-create-menu[open] .profile-create-summary,
.profile-create-summary:hover,
.profile-create-summary:focus-visible {
  background: #05080b;
  color: #fff;
}

.profile-create-menu-panel {
  position: absolute;
  z-index: 8;
  top: calc(100% + 0.45rem);
  left: 0;
  right: 0;
  display: grid;
  gap: 0.1rem;
  border: 1px solid var(--line);
  background: #fff;
  padding: 0.35rem;
  box-shadow: 0 1rem 2.4rem rgba(17, 17, 17, 0.16);
}

.profile-create-menu-panel a {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  min-height: 2.4rem;
  padding: 0.45rem 0.55rem;
  color: var(--text);
  font-weight: 700;
  text-decoration: none;
}

.profile-create-menu-panel a:hover,
.profile-create-menu-panel a:focus-visible {
  background: var(--panel);
}

.profile-safety {
  position: relative;
}

.profile-safety summary {
  list-style: none;
}

.profile-safety summary::-webkit-details-marker {
  display: none;
}

.profile-safety-actions {
  display: grid;
  gap: 0.5rem;
  justify-items: stretch;
  margin-top: 0.5rem;
}

.profile-safety-actions form,
.profile-safety-actions button,
.profile-safety-actions a {
  width: 100%;
}

.page-section {
  margin-top: 2.5rem;
}

.frontpage-statement {
  display: grid;
  grid-template-columns: minmax(0, 0.7fr) minmax(0, 1fr);
  gap: clamp(1.5rem, 5vw, 4rem);
  align-items: start;
}

.frontpage-statement h2,
.frontpage-closing h2 {
  font-size: clamp(2.4rem, 7vw, 5.8rem);
  line-height: 0.95;
  margin: 0;
}

.feature-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 0.85rem;
}

.feature-card {
  display: grid;
  align-content: start;
  gap: 0.75rem;
  min-height: 18rem;
  border: 1px solid var(--line);
  background: var(--panel);
  padding: clamp(1rem, 3vw, 1.35rem);
}

.feature-card h2,
.feature-card p,
.frontpage-closing p {
  margin: 0;
}

.feature-card h2 {
  font-size: 1.45rem;
  line-height: 1.1;
}

.frontpage-closing {
  display: grid;
  gap: 1rem;
}

.frontpage-closing p {
  max-width: 720px;
}

.about-manifesto,
.about-notes {
  margin-top: 1.2rem;
}

.about-manifesto p {
  font-size: 1.02rem;
}

.about-notes {
  display: grid;
  gap: 1.6rem;
}

.about-notes section {
  border-top: 1px solid var(--line);
  padding-top: 1.2rem;
}

.metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 0.75rem;
  margin: 1.5rem 0;
}

.studio-account-meta {
  margin: -0.3rem 0 0.8rem;
  color: var(--muted);
  font-size: 0.9rem;
}

.health-list {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.metrics div,
.health-item,
.image-card,
.project-card,
.settings-row {
  background: var(--panel);
  border: 1px solid var(--line);
  padding: 1rem;
}

.metrics strong,
.metrics span,
.health-item strong,
.health-item span,
.settings-row strong,
.settings-row span {
  display: block;
}

.health-item.ready {
  border-color: #a7c7b1;
}

.health-item.attention {
  border-color: #d6b46f;
}

.metrics span,
.health-item span,
.image-card span,
.project-card span {
  color: var(--muted);
  font-size: 0.9rem;
}

.notification-list {
  display: grid;
  gap: 0.65rem;
  padding: 0;
  margin: 1rem 0 0;
  list-style: none;
}

.notification-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: center;
  padding: 0.8rem 0;
  border-top: 1px solid var(--line);
}

.notification-item--unread {
  border-color: var(--ink);
}

.notification-title,
.notification-body,
.notification-meta {
  margin: 0;
}

.notification-title {
  font-weight: 700;
}

.notification-body,
.notification-meta {
  color: var(--muted);
}

.notification-meta {
  margin-top: 0.2rem;
  font-size: 0.85rem;
}

.invite-link-list {
  display: grid;
  gap: 0.75rem;
}

.invite-link-list p {
  display: grid;
  gap: 0.35rem;
}

.invite-url {
  color: var(--muted);
  overflow-wrap: anywhere;
  word-break: break-word;
}

.image-card {
  display: grid;
  gap: 0.55rem;
  min-width: 0;
}

.library-image-grid {
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 8rem), 10rem));
  align-items: start;
  gap: 0.75rem;
}

.library-image-grid .image-card {
  width: 100%;
  padding: 0.65rem;
  gap: 0.45rem;
}

.image-select {
  display: inline-flex;
  gap: 0.35rem;
  align-items: center;
  color: var(--muted);
  font-size: 0.9rem;
}

.image-card img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 16rem;
  aspect-ratio: auto;
  object-fit: contain;
  margin-inline: auto;
  background: #f1f0ed;
}

.library-image-grid .image-card img {
  max-height: 12rem;
  aspect-ratio: auto;
}

.image-card strong {
  font-size: 0.96rem;
  line-height: 1.25;
}

.library-image-grid .image-card strong {
  font-size: 0.82rem;
}

.image-card .helper,
.folder-summary,
.metadata-list dd {
  min-width: 0;
  overflow-wrap: anywhere;
}

.image-card form {
  margin: 0;
}

.placement-summary {
  margin: 0;
  color: var(--muted);
  font-size: 0.85rem;
}

.folder-summary {
  margin: 0;
  font-size: 0.82rem;
}

.image-card-metadata {
  border-top: 1px solid var(--line);
  padding-top: 0.45rem;
}

.image-card-metadata .metadata-list {
  gap: 0.55rem;
  margin-top: 0.5rem;
}

.image-card-metadata .metadata-list div {
  grid-template-columns: 1fr;
  gap: 0.08rem;
}

.image-card-metadata .metadata-list dt,
.image-card-metadata .metadata-list dd {
  min-width: 0;
  overflow-wrap: anywhere;
}

.image-card button {
  width: 100%;
  border: 1px solid var(--line);
  background: #fff;
  padding: 0.5rem;
}

.library-image-grid .image-card button {
  padding: 0.42rem;
  font-size: 0.86rem;
}

.library-image-grid .image-card .library-card-selection-surface {
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  font-size: inherit;
}

.library-image-grid .library-workspace-card {
  padding: 0;
  gap: 0;
}

.library-image-grid .library-card-selection-surface > img {
  width: 100%;
  max-height: none;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  margin: 0;
}

.library-image-grid .image-card .library-card-actions-trigger {
  width: 1.35rem;
  min-width: 1.35rem;
  height: 1.15rem;
  min-height: 1.15rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--text);
  font-size: 0.9rem;
  line-height: 1;
}

.library-image-grid .image-card .library-card-actions-trigger:hover,
.library-image-grid .image-card .library-card-actions-trigger:focus-visible {
  background: transparent;
  color: #000;
}

.library-image-grid .image-card .library-card-status {
  display: inline-flex;
  color: var(--muted);
  font-size: 0.74rem;
}

.library-image-grid .image-card .library-card-status-dot {
  display: inline-block;
}

@media (max-width: 760px) {
  .library-loupe {
    padding: 0.65rem;
  }

  .library-loupe-panel {
    height: calc(100vh - 1.3rem);
  }

  .library-loupe-item {
    grid-template-columns: 1fr;
    grid-template-rows: minmax(0, 1fr) auto;
  }

  .library-loupe-media {
    padding: 0.65rem;
  }

  .library-loupe-media img {
    max-height: 58vh;
  }

  .library-loupe-info {
    max-height: 32vh;
    padding: 0.85rem;
  }

  .library-loupe-close {
    top: 0.7rem;
    right: 0.7rem;
  }

  .library-loupe-prev {
    left: 0.7rem;
  }

  .library-loupe-next {
    right: 0.7rem;
  }

  .library-workspace {
    display: flex;
    flex-direction: column;
  }

  .library-gallery-surface {
    order: 1;
    min-height: calc(100vh - 4.7rem);
    padding: 0.9rem 1rem 1.1rem;
  }

  .library-inspector {
    order: 2;
    padding: 0.8rem;
  }

  .library-workspace-nav {
    order: 3;
    padding: 0.75rem 0.8rem;
    position: static;
    min-height: 0;
    max-height: none;
    overflow: visible;
  }

  .library-workspace-toolbar {
    align-items: start;
    gap: 0.7rem;
    margin-bottom: 0.75rem;
  }

  .library-workspace-title {
    min-width: 0;
    flex: 1 1 14rem;
  }

  .library-workspace-title h1 {
    font-size: 1.55rem;
  }

  .library-command-row {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 0.45rem;
  }

  .library-toolbar-form,
  .library-search-control,
  #library-sort {
    grid-column: 1 / -1;
  }

  .library-filter-menu,
  .library-mode-toggle,
  .batch-metadata-panel {
    grid-column: span 1;
  }

  .library-filter-menu[open] {
    grid-column: 1 / -1;
  }

  .library-filter-menu[open] .library-filter-popover {
    position: static;
    width: 100%;
    max-width: none;
    margin-top: 0.4rem;
    box-shadow: none;
  }

  .library-filter-menu summary,
  .batch-metadata-panel > summary {
    padding-inline: 0.45rem;
  }

  .library-mode-toggle {
    width: fit-content;
  }

  .library-reset-link {
    min-height: 2.25rem;
    padding: 0.45rem 0.55rem;
  }

  .library-selection-bar {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.5rem;
  }

  .library-view-density-control {
    margin-left: 0;
    justify-content: space-between;
  }

  .library-workspace-grid.library-mode-list {
    --library-list-status-column: minmax(5.4rem, auto);
  }

  .library-mode-list .library-workspace-card,
  .library-mode-list .library-card-selection-surface {
    gap: 0.5rem;
  }

  .library-mode-list .library-card-footer {
    padding-right: 1.65rem;
  }

  .library-selection-bar .button {
    min-height: 2.25rem;
    padding: 0.45rem 0.55rem;
  }

  .library-side-nav {
    display: flex;
    gap: 0.45rem;
    overflow-x: auto;
    padding-bottom: 0.15rem;
  }

  .library-side-nav a {
    flex: 0 0 auto;
    min-width: 7.4rem;
    min-height: 1.9rem;
    font-size: 0.78rem;
  }

  .library-folder-panel {
    margin-top: 0.75rem;
    display: block;
    min-height: 0;
    overflow: visible;
  }

  .library-folder-panel .library-folder-nav {
    overflow-x: auto;
    overflow-y: hidden;
    padding-right: 0;
  }

  .library-defaults-panel,
  .batch-metadata-panel {
    border-color: #d8d4ca;
    background: #fff;
  }

  .library-workspace-nav .library-defaults-panel {
    max-height: none;
  }

  .library-workspace-nav .library-defaults-panel[open] {
    max-height: none;
    margin: 0.65rem 0 0.7rem;
  }

  .library-workspace-nav .library-defaults-panel[open] .library-defaults-form {
    position: static;
    max-height: none;
    border: 0;
    box-shadow: none;
  }

  .library-storage-panel {
    margin-top: 0.75rem;
    position: static;
    box-shadow: none;
  }
}

.studio-page-shell {
  width: 100%;
  max-width: none;
  margin: 0;
}

.studio-workspace-section {
  border-top: 1px solid var(--line);
  background: #fff;
}

.studio-workspace {
  display: grid;
  grid-template-columns: minmax(14.5rem, 16.25rem) minmax(0, 1fr) minmax(15rem, 17rem);
  gap: 0;
  align-items: stretch;
  min-height: calc(100vh - 4.7rem);
  font-size: 0.88rem;
}

.studio-workspace .eyebrow {
  margin: 0 0 0.28rem;
  font-size: 0.66rem;
}

.studio-workspace-nav,
.studio-context-rail {
  border: 0;
  background: #f8f8f7;
  padding: 1rem 1.05rem;
  position: sticky;
  top: 4.7rem;
  max-height: calc(100vh - 4.7rem);
  overflow-y: auto;
  scrollbar-gutter: stable;
}

.studio-workspace-nav {
  border-right: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  min-height: calc(100vh - 4.7rem);
  overflow-x: hidden;
}

.studio-context-rail {
  border-left: 1px solid var(--line);
  display: grid;
  align-content: start;
  gap: 0.85rem;
}

@supports (max-height: 100svh) {
  .studio-workspace-nav,
  .studio-context-rail {
    max-height: calc(100svh - 4.7rem);
  }

  .studio-workspace-nav {
    min-height: calc(100svh - 4.7rem);
  }
}

.studio-workspace-nav h3,
.studio-create-panel h3 {
  margin: 0 0 0.5rem;
  font-size: 0.9rem;
}

.workspace-side-nav,
.studio-action-list {
  display: grid;
  gap: 0.1rem;
}

.workspace-side-nav {
  margin-bottom: 1rem;
}

.workspace-side-nav a,
.studio-action-list a,
.studio-tool-list a,
.studio-tool-list button {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 2.05rem;
  border: 1px solid transparent;
  border-radius: 0.32rem;
  background: transparent;
  color: var(--muted);
  font: inherit;
  font-size: 0.82rem;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  transition: background 120ms ease, border-color 120ms ease, color 120ms ease;
}

.workspace-side-nav a {
  justify-content: space-between;
  padding: 0.26rem 0.45rem;
}

.studio-action-list a,
.studio-tool-list a,
.studio-tool-list button {
  justify-content: flex-start;
  width: 100%;
  padding: 0.34rem 0.45rem;
}

.workspace-side-nav a:hover,
.workspace-side-nav a:focus-visible,
.studio-action-list a:hover,
.studio-action-list a:focus-visible,
.studio-tool-list a:hover,
.studio-tool-list a:focus-visible,
.studio-tool-list button:hover,
.studio-tool-list button:focus-visible {
  border-color: var(--line);
  background: #fff;
  color: var(--text);
}

.workspace-side-nav a.active {
  border-color: #eeeeeb;
  background: #ededeb;
  color: var(--text);
}

.studio-action-list a.studio-action-primary {
  border-color: var(--text);
  background: var(--text);
  color: #fff;
}

.workspace-side-nav strong {
  font-size: 0.68rem;
  font-weight: 700;
}

.workspace-nav-label {
  display: inline-grid;
  grid-template-columns: 1rem minmax(0, 1fr);
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
}

.workspace-nav-label span:last-child,
.studio-action-list span:last-child,
.studio-tool-list span:last-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.workspace-nav-icon {
  display: inline-block;
  flex: 0 0 auto;
  width: 0.95rem;
  height: 0.95rem;
  color: currentColor;
  opacity: 0.76;
}

.workspace-side-nav a.active .workspace-nav-icon,
.studio-action-list a:hover .workspace-nav-icon,
.studio-action-list a:focus-visible .workspace-nav-icon,
.studio-tool-list a:hover .workspace-nav-icon,
.studio-tool-list button:hover .workspace-nav-icon {
  opacity: 0.9;
}

.studio-create-panel {
  border-top: 1px solid #e4e4e1;
  margin-top: auto;
  padding-top: 0.8rem;
}

.studio-storage-panel {
  margin-top: 1.1rem;
}

.studio-main-surface {
  min-width: 0;
  padding: 1.45rem clamp(1.05rem, 2.2vw, 2rem) 1.8rem;
  background: #fff;
}

.studio-workspace-title {
  margin-bottom: 1rem;
}

.studio-workspace-title h1 {
  margin: 0;
  font-size: clamp(1.9rem, 3vw, 2.45rem);
  line-height: 1.05;
}

.studio-account-meta {
  margin: 0.45rem 0 0;
  color: var(--muted);
  font-size: 0.9rem;
}

.studio-stat-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border: 1px solid #e0e0dd;
  border-radius: 0.42rem;
  background: #fff;
  margin: 0 0 1.05rem;
  overflow: hidden;
}

.studio-stat-card {
  display: grid;
  grid-template-columns: 1.1rem minmax(0, 1fr);
  gap: 0.18rem 0.55rem;
  align-items: center;
  min-height: 4.7rem;
  padding: 0.78rem 0.9rem;
  color: inherit;
  text-decoration: none;
  transition: background 120ms ease, box-shadow 120ms ease;
}

.studio-stat-card + .studio-stat-card {
  border-left: 1px solid #ededeb;
}

.studio-stat-card:hover,
.studio-stat-card:focus-visible {
  background: #f7f7f5;
}

.studio-stat-card.active {
  background: #ededeb;
  box-shadow: inset 0 -3px 0 var(--text);
}

.studio-stat-card .workspace-nav-icon {
  grid-row: 1 / span 2;
  align-self: start;
  margin-top: 0.1rem;
}

.studio-stat-card strong,
.studio-stat-card span {
  display: block;
}

.studio-stat-card strong {
  font-size: 1rem;
  line-height: 1.15;
}

.studio-stat-card > span:last-child {
  color: var(--muted);
  font-size: 0.78rem;
}

.studio-management-panel {
  border: 1px solid #e0e0dd;
  border-radius: 0.42rem;
  background: #fff;
  padding: 1rem 1.05rem;
}

.studio-management-panel .section-title-row {
  margin-bottom: 0.7rem;
}

.studio-management-panel h2,
.studio-context-card h2 {
  margin: 0;
  font-size: 1rem;
  line-height: 1.25;
}

.studio-management-list {
  display: grid;
  gap: 0;
}

.studio-management-row {
  display: grid;
  grid-template-columns: 1.45rem minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: center;
  min-width: 0;
  padding: 0.8rem 0;
  border-top: 1px solid var(--line);
}

.studio-management-row:first-child {
  border-top: 0;
}

.studio-draft-icon {
  align-self: start;
  margin-top: 0.2rem;
}

.studio-draft-copy {
  min-width: 0;
}

.studio-draft-copy h3,
.studio-draft-copy p {
  margin: 0;
}

.studio-draft-copy h3 {
  font-family: inherit;
  font-size: 0.94rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.studio-draft-copy h3 a {
  color: inherit;
  text-decoration: none;
}

.studio-draft-copy h3 a:hover,
.studio-draft-copy h3 a:focus-visible {
  text-decoration: underline;
}

.studio-draft-copy p:not(.eyebrow) {
  margin-top: 0.28rem;
  color: var(--muted);
  font-size: 0.78rem;
}

.studio-draft-actions,
.studio-inline-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  justify-content: flex-end;
}

.studio-draft-actions {
  min-width: 8rem;
}

.studio-attention-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.45rem;
}

.studio-attention-badges span {
  border: 1px solid #d8bd84;
  border-radius: 0.25rem;
  background: #fff7e5;
  color: #6d4714;
  padding: 0.12rem 0.35rem;
  font-size: 0.7rem;
  font-weight: 700;
  line-height: 1.25;
}

.studio-follower-row {
  grid-template-columns: 2.2rem minmax(0, 1fr) auto;
}

.studio-follower-mark {
  width: 2.05rem;
  height: 2.05rem;
  border: 1px solid #dededb;
  border-radius: 999px;
  background: #f1f1ef;
  color: var(--muted);
  display: grid;
  place-items: center;
  overflow: hidden;
  font-weight: 700;
}

.studio-follower-picture {
  width: 100%;
  height: 100%;
}

.studio-follower-picture img,
.studio-follower-picture .profile-picture-crop-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.studio-draft-actions form,
.studio-inline-actions form,
.studio-tool-list form {
  margin: 0;
}

.studio-context-card {
  display: grid;
  gap: 0.65rem;
  border: 1px solid #e0e0dd;
  border-radius: 0.42rem;
  background: #fff;
  padding: 0.95rem 1rem;
  box-shadow: 0 0.15rem 0.55rem rgba(17, 17, 17, 0.025);
}

.studio-context-card p {
  margin: 0;
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.45;
}

.studio-context-heading,
.studio-section-heading-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
}

.studio-context-heading {
  justify-content: flex-start;
}

.studio-status-light {
  width: 0.46rem;
  height: 0.46rem;
  border-radius: 999px;
  background: #1f9d64;
}

.studio-status-light.attention {
  background: #a15f1b;
}

.studio-health-list {
  display: grid;
  gap: 0.45rem;
}

.studio-health-item {
  display: grid;
  gap: 0.1rem;
  border-left: 3px solid #a7c7b1;
  padding-left: 0.55rem;
}

.studio-health-item.attention {
  border-color: #d6b46f;
}

.studio-health-item strong,
.studio-health-item span {
  display: block;
}

.studio-health-item span {
  color: var(--muted);
  font-size: 0.78rem;
}

.studio-health-action {
  margin-top: 0.35rem;
}

.studio-attention-item {
  display: grid;
  gap: 0.5rem;
}

.studio-status-section {
  display: grid;
  gap: 0.45rem;
}

.studio-status-section + .studio-status-section {
  border-top: 1px solid #e7e4df;
  padding-top: 0.7rem;
}

.studio-card-link {
  color: var(--accent);
  font-size: 0.78rem;
  font-weight: 700;
  text-decoration: none;
}

.studio-card-link:hover,
.studio-card-link:focus-visible {
  text-decoration: underline;
}

.studio-tool-list {
  display: grid;
  gap: 0.12rem;
}

@media (max-width: 1180px) {
  .studio-workspace {
    grid-template-columns: minmax(12.5rem, 14.5rem) minmax(0, 1fr) minmax(13.5rem, 15.5rem);
  }
}

@media (max-width: 980px) {
  .studio-workspace {
    grid-template-columns: minmax(12rem, 15rem) minmax(0, 1fr);
  }

  .studio-context-rail {
    grid-column: 1 / -1;
    grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
    position: static;
    max-height: none;
    border-left: 0;
    border-top: 1px solid var(--line);
  }
}

@media (max-width: 760px) {
  .studio-workspace {
    display: flex;
    flex-direction: column;
  }

  .studio-main-surface {
    order: 1;
    padding: 0.95rem 1rem 1.1rem;
  }

  .studio-context-rail {
    order: 2;
    display: grid;
    grid-template-columns: 1fr;
    padding: 0.85rem 0.9rem;
    border-top: 1px solid var(--line);
  }

  .studio-workspace-nav {
    order: 3;
    min-height: 0;
    max-height: none;
    overflow: visible;
    position: static;
    border-right: 0;
    border-top: 1px solid var(--line);
    padding: 0.75rem 0.8rem;
  }

  .workspace-side-nav,
  .studio-action-list {
    display: flex;
    gap: 0.45rem;
    overflow-x: auto;
    padding-bottom: 0.15rem;
  }

  .workspace-side-nav a,
  .studio-action-list a {
    flex: 0 0 auto;
    min-width: 7.4rem;
    min-height: 1.9rem;
    font-size: 0.78rem;
  }

  .studio-stat-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .studio-stat-card {
    border-left: 0;
  }

  .studio-stat-card + .studio-stat-card {
    border-left: 1px solid #ededeb;
  }

  .studio-management-row {
    grid-template-columns: 1.35rem minmax(0, 1fr);
    align-items: start;
  }

  .studio-follower-row {
    grid-template-columns: 2.1rem minmax(0, 1fr);
  }

  .studio-draft-actions {
    grid-column: 2;
    justify-content: flex-start;
    min-width: 0;
  }

  .studio-storage-panel {
    margin-top: 0.75rem;
    position: static;
    box-shadow: none;
  }
}

.trash-heading {
  margin-top: 1.5rem;
}

.trash-grid {
  margin-top: 0.75rem;
}

.trash-actions {
  display: grid;
  gap: 0.5rem;
}

.trash-actions .button {
  width: 100%;
  border-color: var(--text);
  background: var(--text);
  color: #fff;
}

.trash-actions .button.secondary {
  background: transparent;
  color: var(--text);
}

.trash-actions .button.danger {
  border-color: #9f1d20;
  background: #9f1d20;
  color: #fff;
}
.project-list {
  display: grid;
  gap: 1rem;
}

.project-card,
.settings-row {
  display: block;
  text-decoration: none;
}

.settings-export-actions {
  display: inline-grid;
  gap: 0.45rem;
  width: min(18rem, 100%);
  margin-top: 0.75rem;
}

.settings-export-actions form {
  margin: 0;
}

.settings-export-actions .button {
  width: 100%;
}

.feed-shell h1 {
  margin: 0 0 1.2rem;
  font-size: clamp(2.2rem, 4vw, 3.4rem);
}

.feed-filter-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin: 0 0 1.3rem;
  align-items: flex-start;
}

.feed-filter,
.feed-timeline-link {
  color: var(--text);
  text-decoration: none;
}

.feed-filter-menu {
  position: relative;
}

.feed-filter-summary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border: 1px solid var(--line);
  background: #fff;
  padding: 0;
  color: var(--text);
  cursor: pointer;
  font: inherit;
}

.feed-filter-menu[data-feed-filter-open="true"] .feed-filter-summary {
  border-color: var(--text);
}

.feed-filter-icon {
  display: block;
  width: 0.85rem;
  height: 0.85rem;
}

.feed-filter-panel {
  position: absolute;
  z-index: 20;
  top: calc(100% + 0.35rem);
  left: 0;
  display: grid;
  gap: 0.35rem;
  min-width: 13rem;
  max-width: min(18rem, calc(100vw - 2rem));
  border: 1px solid var(--text);
  background: #fff;
  padding: 0.45rem;
  box-shadow: 0 0.8rem 1.8rem rgba(22, 21, 18, 0.14);
}

.feed-filter-menu-combined .feed-filter-panel {
  min-width: min(30rem, calc(100vw - 2rem));
}

.feed-filter-panel[hidden] {
  display: none;
}

.feed-filter-group {
  display: grid;
  gap: 0.4rem;
}

.feed-filter-group + .feed-filter-group {
  border-top: 1px solid var(--line);
  padding-top: 0.45rem;
}

.feed-filter-group-title {
  margin: 0;
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.2;
  text-transform: uppercase;
}

.feed-filter-options {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.feed-filter {
  border: 1px solid var(--line);
  padding: 0.34rem 0.7rem;
  background: #fff;
  font-size: 0.88rem;
}

.feed-filter.active {
  border-color: var(--text);
  background: var(--text);
  color: #fff;
}

.feed-layout {
  --feed-timeline-sticky-top: clamp(5.75rem, 11vh, 7.5rem);
  display: grid;
  grid-template-columns: minmax(7rem, 0.18fr) minmax(0, 1fr);
  gap: clamp(1rem, 3vw, 2rem);
  align-items: start;
}

.feed-timeline {
  position: sticky;
  top: var(--feed-timeline-sticky-top);
  display: grid;
  align-content: start;
  gap: 0.24rem;
  max-height: min(32rem, calc(100vh - var(--feed-timeline-sticky-top) - 1.25rem));
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 0.45rem 0.45rem 0.55rem 0;
  border-block: 1px solid var(--line);
  scrollbar-gutter: stable;
}

.feed-timeline-link {
  display: grid;
  gap: 0.03rem;
  border-left: 2px solid var(--line);
  padding: 0.12rem 0 0.16rem 0.7rem;
}

.feed-timeline-link span {
  font-size: 0.88rem;
  line-height: 1.25;
}

.feed-timeline-link small {
  color: var(--muted);
  font-size: 0.7rem;
  line-height: 1.25;
}

.feed-timeline-link.active {
  border-left-color: var(--text);
}

.feed-timeline-link.active span {
  font-weight: 700;
}

.feed-sections {
  display: grid;
  gap: 1.4rem;
  min-width: 0;
}

.feed-month-section {
  scroll-margin-top: 1rem;
}

.feed-month-heading {
  display: flex;
  align-items: baseline;
  gap: 0.45rem;
  margin: 0 0 0.65rem;
  font-size: 0.92rem;
  text-transform: uppercase;
}

.feed-month-heading span {
  font-weight: 700;
  line-height: 1.2;
}

.feed-month-heading small {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 400;
  line-height: 1.2;
}

.feed-masonry--month {
  width: 100%;
}

.feed-masonry {
  display: block;
  column-count: 4;
  column-gap: 0.85rem;
}

.feed-masonry[data-feed-masonry-section] {
  --feed-masonry-gap: 0.85rem;
  --feed-masonry-min-column-width: 10.5rem;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--feed-masonry-min-column-width)), 1fr));
  gap: var(--feed-masonry-gap);
  align-items: start;
  column-count: initial;
  column-gap: normal;
  content-visibility: auto;
  contain-intrinsic-size: 36rem;
}

.feed-masonry[data-feed-masonry-ready="true"] {
  display: block;
  position: relative;
  contain: layout paint style;
  content-visibility: visible;
}

.feed-masonry[data-feed-masonry-ready="true"] > [data-feed-masonry-item] {
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  will-change: transform;
}

.feed-masonry[data-feed-masonry-section] .feed-tile,
.feed-masonry[data-feed-masonry-section] .recommendation-feed-frame,
.feed-masonry[data-feed-masonry-section] .ephemeral-feed-strip {
  display: block;
  margin: 0;
  break-inside: auto;
}

.feed-tile {
  position: relative;
  display: inline-block;
  width: 100%;
  min-height: 0;
  margin: 0 0 0.85rem;
  overflow: hidden;
  break-inside: avoid;
  background: #eeeeec;
  border: 1px solid var(--line);
  border-radius: var(--work-thumbnail-radius);
  text-decoration: none;
  vertical-align: top;
}

.feed-tile img {
  width: 100%;
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
  border-radius: inherit;
}

.feed-tile::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 52%;
  background: linear-gradient(to top, rgba(9, 9, 9, 0.72), rgba(9, 9, 9, 0));
  opacity: 0;
  transition: opacity 150ms ease;
}

.feed-tile .type-badge,
.preview-grid .type-badge {
  position: absolute;
  top: 0.5rem;
  right: auto;
  bottom: auto;
  left: 0.5rem;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  max-width: calc(100% - 1rem);
  background: rgba(19, 20, 18, 0.78);
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 999px;
  color: #fff;
  padding: 0.22rem 0.45rem;
  font-size: 0.72rem;
  font-weight: 750;
  letter-spacing: 0;
  line-height: 1;
  opacity: 0;
  pointer-events: none;
  text-transform: none;
  transform: translateY(-0.2rem);
  transition: opacity 160ms ease, transform 160ms ease;
}

.type-badge-icon {
  width: 0.88rem;
  height: 0.88rem;
  flex: 0 0 auto;
  stroke-width: 2.2;
}

.feed-tile .feed-overlay {
  position: absolute;
  top: auto;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  display: grid;
  gap: 0.1rem;
  padding: 2.2rem 0.7rem 0.7rem;
  background: transparent;
  color: #fff;
  opacity: 0;
  transform: translateY(0.35rem);
  transition:
    opacity 150ms ease,
    transform 150ms ease;
}

.feed-tile .feed-overlay small,
.feed-tile .feed-overlay em {
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.86rem;
}

.feed-tile .feed-overlay em {
  font-style: normal;
}

.ephemeral-feed-tile {
  background: #f6f3ee;
  border-style: dashed;
}

.ephemeral-feed-tile .type-badge {
  background: rgba(18, 18, 16, 0.82);
  color: #fff;
}

.ephemeral-feed-strip {
  display: block;
  width: 100%;
  margin: 0 0 0.95rem;
  padding: 0.75rem;
  break-inside: avoid;
  column-span: all;
  background: #f8f6f0;
  border: 1px dashed rgba(83, 78, 64, 0.38);
}

.ephemeral-feed-strip-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.65rem;
}

.ephemeral-feed-strip-header .type-badge {
  position: static;
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  flex: 0 0 auto;
  background: rgba(18, 18, 16, 0.82);
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 999px;
  color: #fff;
  padding: 0.22rem 0.45rem;
  font-size: 0.72rem;
  font-weight: 750;
  line-height: 1;
  text-transform: none;
}

.ephemeral-feed-strip-header h3 {
  margin: 0;
  font-size: 1rem;
}

.ephemeral-feed-strip-header p {
  margin: 0.1rem 0 0;
  color: var(--muted);
  font-size: 0.86rem;
}

.ephemeral-feed-strip-scroll {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(7.6rem, 10rem);
  gap: 0.65rem;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x proximity;
  padding-bottom: 0.2rem;
}

.ephemeral-feed-strip-tile {
  display: block;
  margin: 0;
  scroll-snap-align: start;
}

.ephemeral-feed-strip-tile img {
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.recommendation-feed-tile {
  border-color: rgba(102, 88, 62, 0.34);
}

.recommendation-feed-frame {
  display: inline-block;
  width: 100%;
  margin: 0 0 0.85rem;
  break-inside: avoid;
}

.recommendation-feed-frame .feed-tile {
  display: block;
  margin-bottom: 0.35rem;
}

.recommendation-feed-tile .type-badge {
  background: rgba(19, 20, 18, 0.78);
  color: #fff;
}

.recommendation-report-link {
  display: inline-block;
  color: var(--muted);
  font-size: 0.78rem;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
}

.recommendation-report-link:hover,
.recommendation-report-link:focus-visible {
  color: var(--text);
}

.recommend-action {
  position: relative;
}

.recommend-action > summary {
  list-style: none;
  cursor: pointer;
}

.recommend-action > summary::-webkit-details-marker {
  display: none;
}

.recommend-action-panel {
  position: absolute;
  right: 0;
  top: calc(100% + 0.35rem);
  z-index: 4;
  width: min(18rem, calc(100vw - 2rem));
  border: 1px solid var(--line);
  padding: 0.65rem;
  background: #fff;
  box-shadow: 0 0.75rem 1.8rem rgba(20, 20, 20, 0.12);
}

.recommend-action-panel form {
  display: grid;
  gap: 0.5rem;
}

.recommend-action-panel textarea {
  width: 100%;
  min-height: 4.8rem;
  resize: vertical;
}

.recommend-toggle.is-active {
  border-color: #9b8b66;
}

@media (max-width: 560px) {
  .recommend-action,
  .recommend-action > summary,
  .recommend-action-panel {
    width: 100%;
  }

  .recommend-action-panel {
    position: static;
    margin-top: 0.45rem;
    box-shadow: none;
  }
}

.feed-tile:hover::after,
.feed-tile:focus-visible::after,
.feed-tile:hover .feed-overlay,
.feed-tile:focus-visible .feed-overlay {
  opacity: 1;
}

.feed-tile:focus-visible .type-badge,
.preview-grid .work-tile:hover .type-badge,
.preview-grid .work-tile:focus-visible .type-badge,
.feed-tile:hover .feed-overlay,
.feed-tile:focus-visible .feed-overlay {
  transform: translateY(0);
}

.feed-tile:focus-visible .type-badge,
.preview-grid .work-tile:hover .type-badge,
.preview-grid .work-tile:focus-visible .type-badge {
  opacity: 1;
}

@media (hover: none), (pointer: coarse) {
  .feed-tile:hover::after,
  .feed-tile:hover .feed-overlay {
    opacity: 0;
  }

  .feed-tile:hover .feed-overlay {
    transform: translateY(0.35rem);
  }
}

.collection-tile {
  display: inline-block;
  width: 100%;
  margin: 0 0 0.85rem;
  break-inside: avoid;
}

.collection-tile .feed-tile {
  margin-bottom: 0.45rem;
}

.collection-tile form {
  margin: 0;
}

.collection-index-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 14rem), 1fr));
  gap: 1rem;
}

.collection-card {
  display: grid;
  min-height: 18rem;
  position: relative;
  overflow: hidden;
  border: 1px solid var(--line);
  background: #eeeeec;
  color: inherit;
  text-decoration: none;
}

.collection-card-preview {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  min-height: 18rem;
  height: 100%;
  background: #deded8;
}

.collection-card-preview-cell {
  min-width: 0;
  overflow: hidden;
}

.collection-card-preview-cell:only-child {
  grid-column: 1 / -1;
}

.collection-card-preview img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #f1f0ed;
}

.collection-card-empty {
  display: grid;
  place-items: center;
  min-height: 18rem;
  color: var(--muted);
  padding: 1rem;
  text-align: center;
}

.collection-card-text {
  position: absolute;
  inset: auto 0 0;
  display: grid;
  gap: 0.15rem;
  padding: 3rem 0.8rem 0.8rem;
  background: linear-gradient(to top, rgba(9, 9, 9, 0.76), rgba(9, 9, 9, 0));
  color: #fff;
}

.collection-card-text small {
  color: rgba(255, 255, 255, 0.84);
}

.collection-empty-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.collection-empty-panel p {
  margin: 0;
}

.collection-detail-grid {
  display: block;
  column-count: 4;
  column-gap: 0.95rem;
}

.collection-detail-card {
  display: inline-block;
  width: 100%;
  margin: 0 0 0.95rem;
  overflow: hidden;
  break-inside: avoid;
  border: 1px solid var(--line);
  background: #fff;
  vertical-align: top;
}

.collection-detail-image {
  position: relative;
  display: block;
  min-height: 8rem;
  overflow: hidden;
  background: #eeeeec;
  text-decoration: none;
}

.collection-detail-image img {
  display: block;
  width: 100%;
  height: auto;
}

.collection-detail-image .type-badge {
  position: absolute;
  top: 0.6rem;
  left: 0.6rem;
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  max-width: calc(100% - 1.2rem);
  background: rgba(19, 20, 18, 0.78);
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 999px;
  color: #fff;
  padding: 0.22rem 0.45rem;
  font-size: 0.72rem;
  font-weight: 750;
  line-height: 1;
  text-transform: none;
  letter-spacing: 0;
}

.collection-detail-meta {
  display: grid;
  gap: 0.45rem;
  padding: 0.75rem;
}

.collection-detail-meta strong,
.collection-detail-meta a {
  color: inherit;
}

.collection-detail-meta small {
  display: block;
  color: var(--muted);
}

.collection-detail-meta p {
  margin: 0;
  color: var(--muted);
  font-size: 0.92rem;
  line-height: 1.45;
}

.collection-detail-remove {
  margin: 0;
}

.legal-document {
  display: grid;
  gap: 1rem;
  min-width: 0;
  max-width: 100%;
}

.legal-language-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  min-width: 0;
  max-width: 100%;
}

.legal-language-link {
  border: 1px solid var(--line);
  padding: 0.45rem 0.7rem;
  color: var(--text);
  font-weight: 700;
  text-decoration: none;
  max-width: 100%;
  overflow-wrap: anywhere;
}

.legal-language-link:hover,
.legal-language-link:focus {
  border-color: var(--text);
}

.legal-language-sections {
  display: grid;
  gap: 1.5rem;
  min-width: 0;
  max-width: 100%;
}

.legal-language-divider {
  width: 100%;
  margin: 0;
  border: 0;
  border-top: 1px solid var(--line);
}

.legal-language-section {
  display: grid;
  gap: 1rem;
  min-width: 0;
  max-width: 100%;
  scroll-margin-top: 5rem;
}

.legal-language-section:first-child {
  padding-top: 0.5rem;
}

.legal-language-section > h2 {
  margin: 0;
  color: var(--muted);
  font-size: 0.9rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.legal-language-header-gap {
  min-height: 0.45rem;
}

.legal-language-title {
  margin: 0;
  color: var(--text);
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.legal-document h2,
.legal-document h3,
.legal-document h4,
.legal-document p,
.legal-document ul,
.legal-document ol {
  margin: 0;
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}

.legal-document h2 {
  margin-top: 1rem;
  font-size: 1.45rem;
}

.legal-document h3 {
  margin-top: 0.4rem;
  font-size: 1.08rem;
}

.legal-document h4 {
  margin-top: 0.25rem;
  font-size: 1rem;
}

.legal-document ul,
.legal-document ol {
  padding-left: 1.25rem;
}

.legal-document li {
  min-width: 0;
  overflow-wrap: anywhere;
}

.legal-table-wrap {
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--line);
}

.legal-document table {
  width: 100%;
  min-width: 620px;
  border-collapse: collapse;
  background: #fff;
  font-size: 0.9rem;
}

.legal-document th,
.legal-document td {
  border-bottom: 1px solid var(--line);
  padding: 0.55rem 0.65rem;
  text-align: left;
  vertical-align: top;
}

.legal-document th {
  background: #f2f2ef;
  font-weight: 700;
}

.legal-document pre {
  margin: 0;
  max-width: 100%;
  overflow-x: auto;
  border: 1px solid var(--line);
  background: #f2f2ef;
  padding: 0.8rem;
}

.legal-document code {
  overflow-wrap: anywhere;
}

.discussion {
  margin-top: 3rem;
  border-top: 1px solid var(--line);
  padding-top: 1.5rem;
}

.discussion-header h2 {
  margin: 0 0 1rem;
  font-size: clamp(1.6rem, 3vw, 2.4rem);
}

.discussion-form,
.reply-box form {
  display: grid;
  gap: 0.65rem;
  max-width: 680px;
  margin-bottom: 1.5rem;
}

.discussion-list {
  display: grid;
  gap: 1rem;
}

.comment {
  border-left: 1px solid var(--line);
  padding-left: 1rem;
}

.comment p,
.comment-body {
  max-width: 720px;
}

.comment-body-collapsed summary {
  display: grid;
  gap: 0.35rem;
  max-width: 720px;
  cursor: pointer;
}

.comment-expand-label {
  color: var(--muted);
  font-size: 0.9rem;
}

.comment-meta,
.comment-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.65rem;
}

.comment-meta {
  color: var(--muted);
  font-size: 0.9rem;
}

.comment-actions,
.comment-actions a,
.comment-actions .link-button,
.reply-box summary {
  color: var(--muted);
  font-size: 0.9rem;
}

.reply-box summary {
  cursor: pointer;
}

.reply-list {
  display: grid;
  gap: 0.85rem;
  margin-top: 1rem;
  margin-left: clamp(0.75rem, 4vw, 2rem);
}

.comment-tombstone {
  color: var(--muted);
  font-style: italic;
}

.work-annotation-row {
  min-width: 0;
  max-width: 100%;
}

.work-annotation-row.has-anchor-rail {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--work-annotation-rail-width);
  gap: 0 var(--work-annotation-rail-gap);
  align-items: center;
}

.work-annotation-content {
  min-width: 0;
  max-width: 100%;
}

.work-annotation-rail {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-width: 0;
  min-height: 2.25rem;
}

.work-annotation-row-text.has-anchor-rail,
.work-annotation-row-caption.has-anchor-rail,
.work-annotation-row-canvas.has-anchor-rail {
  align-items: start;
}

.work-annotation-row-text > .work-annotation-rail,
.work-annotation-row-caption > .work-annotation-rail,
.work-annotation-row-canvas > .work-annotation-rail {
  padding-top: 0.1rem;
}

.anchor-note {
  display: grid;
  position: relative;
  width: max-content;
  max-width: 100%;
  margin: 0;
  vertical-align: baseline;
  z-index: 3;
}

.anchor-note summary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  min-height: 2rem;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--muted);
  cursor: pointer;
  font-size: 0.72rem;
  line-height: 1;
  padding: 0.24rem 0.38rem;
  list-style: none;
}

.anchor-note summary:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 3px;
}

.anchor-note summary::-webkit-details-marker {
  display: none;
}

.anchor-note[open] {
  z-index: 6;
}

.anchor-note-panel {
  display: grid;
  position: absolute;
  top: calc(100% + 0.45rem);
  right: 0;
  gap: 0.6rem;
  min-width: min(22rem, 82vw);
  max-width: 24rem;
  margin-top: 0;
  padding: 0.75rem;
  border: 1px solid var(--line);
  background: #fff;
  box-shadow: 0 0.75rem 1.5rem rgba(20, 20, 20, 0.08);
  z-index: 2;
}

.anchor-note-panel form {
  display: grid;
  gap: 0.55rem;
}

.anchor-note-panel label,
.comment-anchor-label {
  color: var(--muted);
  font-size: 0.82rem;
}

.comment-anchor-label {
  margin: 0.4rem 0 0.2rem;
}

.detail-header {
  margin-bottom: 2rem;
}

.detail-header h1 {
  font-size: clamp(2.5rem, 6vw, 5rem);
  margin: 0.2rem 0 1rem;
}
.project-intro {
  max-width: 48rem;
  margin: 0 0 1.6rem;
  color: var(--muted);
  font-size: 1.12rem;
  line-height: 1.42;
}

.project-preview .project-intro {
  margin-bottom: 1.25rem;
}

.project-companion-card {
  position: relative;
  display: grid;
  grid-template-columns: 5.25rem minmax(0, 1fr);
  align-items: stretch;
  width: min(27rem, 100%);
  min-height: 5.25rem;
  margin: 1rem 0 1.25rem;
  border: 1px solid var(--line);
  background: var(--panel);
}

.project-companion-cover {
  display: grid;
  place-items: center;
  overflow: hidden;
  min-height: 5.25rem;
  border-right: 1px solid var(--line);
  background: #eceff1;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 750;
  letter-spacing: 0.04em;
  text-align: center;
  text-transform: uppercase;
}

.project-companion-card--with-art .project-companion-cover {
  background: #101214;
}

.project-companion-cover img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 5.25rem;
  object-fit: cover;
  transform-origin: center;
}

.project-companion-card[data-companion-provider="youtube"] .project-companion-cover img {
  transform: scale(1.24);
}

.project-companion-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.65rem;
  align-items: center;
  min-width: 0;
  padding: 0.65rem 0.7rem 0.65rem 0.8rem;
}

.project-companion-copy {
  min-width: 0;
}

.project-companion-note {
  margin: 0 0 0.14rem;
  color: var(--muted);
  overflow: hidden;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.15;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.project-companion-meta {
  margin: 0;
  color: var(--muted);
  overflow: hidden;
  font-size: 0.82rem;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.project-companion-title {
  display: block;
  overflow-wrap: anywhere;
  font-size: 0.98rem;
  line-height: 1.18;
}

.project-companion-player {
  position: absolute;
  overflow: hidden;
  width: 1px;
  height: 1px;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.project-companion-player[hidden] {
  display: none;
}

.project-companion-player-frame {
  display: block;
  width: 1px;
  height: 1px;
  border: 0;
}

.project-companion-actions {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.32rem;
  align-items: center;
  justify-content: flex-end;
}

.project-companion-control.button.small {
  width: 2rem;
  min-width: 2rem;
  min-height: 2rem;
  padding: 0;
  border-radius: 999px;
}

.project-companion-control-icon {
  width: 1rem;
  height: 1rem;
}

.project-companion-toggle-play,
.project-companion-toggle-stop {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.project-companion-toggle-stop,
.project-companion-card[data-companion-state="playing"] .project-companion-toggle-play {
  display: none;
}

.project-companion-card[data-companion-state="playing"] .project-companion-toggle-stop {
  display: inline-flex;
}

.project-companion-source {
  color: var(--muted);
}

.project-companion-source:hover,
.project-companion-source:focus-visible {
  color: var(--text);
}

.work-navigation {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  column-gap: clamp(0.75rem, 2vw, 1rem);
  margin-top: clamp(0.65rem, 1.3vw, 0.85rem);
  padding-block: 0.45rem;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.work-navigation-link {
  display: grid;
  align-content: center;
  gap: 0.04rem;
  min-width: 0;
  color: var(--text);
  text-decoration: none;
}

.work-navigation--both .work-navigation-link {
  width: 100%;
}

.work-navigation-link--previous {
  justify-self: start;
}

.work-navigation-link--next {
  justify-self: end;
  justify-items: end;
  text-align: right;
}

.work-navigation--only-next .work-navigation-link,
.work-navigation--only-previous .work-navigation-link {
  width: min(100%, 28rem);
}

.work-navigation--only-next .work-navigation-link {
  grid-column: 2;
}

.work-navigation--only-previous .work-navigation-link {
  grid-column: 1;
}

.work-navigation-link span {
  color: var(--muted);
  font-size: 0.64rem;
  font-weight: 700;
  line-height: 1.05;
  text-transform: uppercase;
}

.work-navigation-link strong {
  overflow-wrap: anywhere;
  font-size: clamp(0.88rem, 0.25vw + 0.84rem, 0.98rem);
  font-weight: 650;
  line-height: 1.08;
}

.work-navigation-link small {
  color: var(--muted);
  font-size: 0.64rem;
  font-weight: 500;
  line-height: 1.05;
}

.work-navigation-link:hover strong,
.work-navigation-link:focus-visible strong {
  text-decoration: underline;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.16em;
}

.image-stack,
.project-sequence {
  display: grid;
  gap: 2rem;
}

.work-detail-page .detail-shell {
  margin-bottom: 2.25rem;
}

.work-detail-page .site-footer {
  margin-top: 2.25rem;
}

.work-detail-page-has-navigation .detail-shell {
  margin-bottom: 0;
}

.work-detail-page-has-navigation .site-footer {
  margin-top: 0;
  border-top: 0;
}

figure {
  margin: 0;
}

.detail-shell .image-stack figure[id^="image-"],
.detail-shell .project-sequence figure[id^="image-"] {
  scroll-margin-top: var(--public-work-scroll-margin-top);
}

.image-placement-frame {
  position: relative;
  width: fit-content;
  max-width: 100%;
}

.detail-shell .image-stack .image-placement-frame,
.detail-shell .project-sequence .image-placement-frame {
  margin-inline: auto;
}

.image-detail-trigger {
  display: block;
  color: inherit;
  text-decoration: none;
}

.image-detail-trigger img,
.image-detail-media img {
  display: block;
  max-width: 100%;
  height: auto;
}

.detail-shell .image-stack .image-detail-trigger img,
.detail-shell .project-sequence .image-detail-trigger img {
  width: auto;
  max-height: var(--public-work-image-max-height);
  object-fit: contain;
  background: #f4f4f2;
}

.image-collection-control {
  position: absolute;
  top: 0.65rem;
  right: 0.65rem;
  z-index: 4;
  opacity: 0;
  pointer-events: none;
  transition: opacity 120ms ease;
}

.image-placement-frame:hover .image-collection-control,
.image-placement-frame:focus-within .image-collection-control,
.publication-reader-page-frame:hover .image-collection-control,
.publication-reader-page-frame:focus-within .image-collection-control,
.image-detail-media .image-collection-control,
.image-collection-control[data-image-collection-open="true"] {
  opacity: 1;
  pointer-events: auto;
}

.image-collection-button {
  display: grid;
  place-items: center;
  width: 2.2rem;
  height: 2.2rem;
  border: 1px solid rgba(255, 255, 255, 0.82);
  border-radius: 50%;
  background: rgba(10, 10, 10, 0.68);
  color: #fff;
  padding: 0;
  cursor: pointer;
  box-shadow: 0 0.35rem 1rem rgba(0, 0, 0, 0.18);
  transform: translateY(0) scale(1);
  transition:
    background-color 140ms ease,
    border-color 140ms ease,
    box-shadow 140ms ease,
    color 140ms ease,
    transform 140ms ease;
}

.image-collection-button:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

@media (hover: hover) and (pointer: fine) {
  .image-collection-button:hover {
    background: rgba(10, 10, 10, 0.84);
    border-color: #fff;
    box-shadow: 0 0.55rem 1.3rem rgba(0, 0, 0, 0.24);
    transform: translateY(-1px) scale(1.03);
  }
}

.image-collection-button:active {
  box-shadow: 0 0.25rem 0.65rem rgba(0, 0, 0, 0.2);
  transform: translateY(0) scale(0.94);
}

.image-collection-control.is-saved .image-collection-button {
  background: #fff;
  color: var(--text);
  border-color: var(--line);
}

.image-collection-control[data-image-collection-open="true"] .image-collection-button {
  background: #fff;
  color: var(--text);
  border-color: var(--text);
  box-shadow: 0 0.6rem 1.35rem rgba(0, 0, 0, 0.26);
  transform: translateY(-1px) scale(1.03);
}

@media (hover: hover) and (pointer: fine) {
  .image-collection-control.is-saved .image-collection-button:hover,
  .image-collection-control[data-image-collection-open="true"].is-saved .image-collection-button {
    background: var(--text);
    color: #fff;
    border-color: var(--text);
  }
}

.image-collection-control[data-image-collection-open="true"] .image-collection-button:active {
  transform: translateY(0) scale(0.97);
}

.image-collection-icon {
  display: block;
  width: 1.05rem;
  height: 1.05rem;
  line-height: 1;
}

.collection-chooser {
  position: absolute;
  top: calc(100% + 0.45rem);
  right: 0;
  width: min(18rem, calc(100vw - 2rem));
  max-height: min(28rem, calc(100vh - 7rem));
  overflow-y: auto;
  padding: 0.85rem;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 1rem 2.2rem rgba(20, 20, 20, 0.14);
  color: var(--text);
}

.collection-chooser[hidden] {
  display: none;
}

.image-detail-media .image-collection-control {
  top: 0.8rem;
  right: 3.7rem;
  z-index: 7;
}

.collection-chooser form,
.collection-chooser fieldset,
.collection-create-inline {
  display: grid;
  gap: 0.55rem;
}

.collection-chooser-header {
  display: grid;
  gap: 0.1rem;
  border-bottom: 1px solid var(--line);
  padding-bottom: 0.55rem;
}

.collection-chooser-header span {
  color: var(--muted);
  font-size: 0.86rem;
}

.collection-chooser fieldset {
  margin: 0;
  padding: 0;
  border: 0;
}

.collection-chooser legend {
  font-weight: 600;
  margin-bottom: 0.25rem;
}

.collection-chooser label {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  font-weight: 400;
}

.collection-create-inline {
  margin-top: 0.2rem;
}

.collection-create-inline input {
  width: 100%;
}

.image-detail-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 70;
  padding: clamp(1rem, 4vw, 3rem);
  overflow: hidden;
}

.image-detail-overlay:target {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  place-items: center;
}

.image-detail-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(8, 8, 8, 0.78);
  cursor: zoom-out;
}

.image-detail-panel {
  position: relative;
  z-index: 1;
  width: min(1080px, 100%);
  max-width: 100%;
  height: min(100%, 920px);
  max-height: 100%;
  overflow: hidden;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto auto;
  gap: 0.8rem;
  padding: clamp(0.75rem, 2vw, 1rem);
  background: #fff;
  border-radius: 6px;
}

.image-detail-close {
  position: absolute;
  top: 0.8rem;
  right: 0.8rem;
  z-index: 8;
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--text);
  text-decoration: none;
}

.image-detail-media {
  position: relative;
  display: grid;
  place-items: center;
  background: #f4f4f2;
  min-height: 0;
  max-height: 100%;
  overflow: hidden;
}

.image-detail-media img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.image-detail-caption {
  margin: 0;
  max-height: min(8rem, 18vh);
  overflow: auto;
  color: var(--muted);
}

.image-detail-panel .public-metadata {
  max-height: min(13rem, 24vh);
  overflow: auto;
  padding-right: 0.25rem;
}

.reading-room-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.35rem;
  max-width: 42rem;
  margin-bottom: 1.3rem;
}

.reading-room-header h1,
.publication-reader-title h1,
.profile-publications-shell h1,
.publication-studio-shell h1 {
  margin: 0;
}

.reading-room-header h1 {
  font-size: clamp(2.2rem, 4vw, 3.4rem);
  line-height: 1;
}

.reading-room-intro {
  margin: 0;
}

.publication-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 10.5rem), 1fr));
  gap: clamp(1.2rem, 2.6vw, 2rem) clamp(1rem, 2.2vw, 1.5rem);
  align-items: start;
}

.publication-card,
.publication-card-link {
  display: grid;
  min-width: 0;
  color: inherit;
  text-decoration: none;
}

.publication-card {
  border: 1px solid var(--line);
  background: #fff;
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.publication-card:hover,
.publication-card:focus-visible {
  transform: translateY(-3px);
  border-color: #b9b6ad;
  box-shadow: 0 1rem 2rem rgba(20, 20, 20, 0.08);
}

.publication-card-cover {
  display: grid;
  place-items: center;
  aspect-ratio: 4 / 5.35;
  background: #ece9df;
  border-bottom: 1px solid var(--line);
  overflow: hidden;
}

.publication-card-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.publication-card-placeholder {
  width: 62%;
  aspect-ratio: 4 / 5.4;
  border: 1px solid #cac5ba;
  background:
    linear-gradient(90deg, rgba(20, 20, 20, 0.08) 0 1px, transparent 1px 100%),
    #f7f5ef;
}

.publication-card-copy {
  display: grid;
  gap: 0.35rem;
  padding: 0.85rem;
}

.publication-card-meta,
.publication-reader-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  color: var(--muted);
  font-size: 0.82rem;
}

.publication-card-meta span,
.publication-reader-facts span,
.publication-external-links a {
  border: 1px solid var(--line);
  background: #fbfbfa;
  padding: 0.14rem 0.42rem;
}

.publication-card-copy strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.18rem;
  line-height: 1.15;
}

.publication-card-copy small,
.publication-card-description {
  color: var(--muted);
}

.publication-card-description {
  font-size: 0.92rem;
}

.publication-card--shelf {
  gap: 0.7rem;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.publication-card--shelf:hover,
.publication-card--shelf:focus-visible {
  transform: translateY(-2px);
  border-color: transparent;
  box-shadow: none;
}

.publication-card--shelf .publication-card-cover {
  aspect-ratio: 1 / 1;
  border: 1px solid var(--line);
  background: #f5f3ed;
}

.publication-card--shelf:hover .publication-card-cover,
.publication-card--shelf:focus-visible .publication-card-cover {
  border-color: #b9b6ad;
}

.publication-card--shelf .publication-card-cover img {
  width: auto;
  height: auto;
  max-width: 82%;
  max-height: 82%;
  object-fit: contain;
  box-shadow: 0 0.45rem 1rem rgba(20, 20, 20, 0.12);
}

.publication-card--shelf .publication-card-placeholder {
  width: 48%;
  max-height: 78%;
}

.publication-card--shelf .publication-card-copy {
  gap: 0.16rem;
  padding: 0;
}

.publication-card-year,
.publication-card-state {
  color: var(--muted);
  font-size: 0.9rem;
}

.publication-card--shelf .publication-card-copy small {
  font-size: 0.9rem;
}

.publication-card--studio {
  gap: 0;
}

.publication-card--studio .actions {
  padding: 0 0.85rem 0.85rem;
}

.publication-studio-shell {
  width: min(1180px, calc(100% - 2rem));
}

.publication-metrics {
  margin: 1.25rem 0;
}

.publication-form-section {
  display: grid;
  gap: 0.9rem;
  margin: 1.5rem 0;
  padding-top: 1.25rem;
  border-top: 1px solid var(--line);
}

.publication-form-section h2 {
  margin: 0;
  font-size: 1rem;
  text-transform: uppercase;
  color: var(--muted);
}

.publication-link-fields {
  display: grid;
  gap: 0.9rem;
}

.publication-form-actions {
  margin-top: 1rem;
}

.publication-reader-shell {
  width: min(1260px, calc(100% - 2rem));
  margin: clamp(1rem, 2.4vw, 2rem) auto;
}

.publication-reader-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(16rem, auto);
  gap: clamp(1rem, 4vw, 3.2rem);
  align-items: end;
  padding-bottom: 1.35rem;
  border-bottom: 1px solid var(--line);
}

.publication-reader-title {
  max-width: 60rem;
}

.publication-reader-title h1 {
  font-size: clamp(2.15rem, 3.4vw, 3.5rem);
  line-height: 1.03;
}

.publication-reader-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: flex-end;
}

.publication-reader-actions form {
  margin: 0;
}

.publication-external-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 1rem 0;
}

.publication-external-links a {
  text-decoration: none;
  font-weight: 700;
}

.publication-reader {
  --reader-zoom: 1;
  display: grid;
  gap: 0.75rem;
  margin-top: clamp(1rem, 2.6vw, 1.65rem);
}

.publication-reader-stage {
  position: relative;
  display: grid;
  grid-template-columns: minmax(2.8rem, 4.2rem) minmax(0, 1fr) minmax(2.8rem, 4.2rem);
  gap: clamp(0.6rem, 2vw, 1.35rem);
  align-items: center;
  min-height: clamp(20rem, 42vh, 34rem);
  padding: clamp(1.2rem, 3vw, 2rem) clamp(0.8rem, 2vw, 1.4rem);
  border: 1px solid #dfddd5;
  border-radius: 6px;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.54), rgba(255, 255, 255, 0) 18%, rgba(255, 255, 255, 0) 82%, rgba(255, 255, 255, 0.54)),
    #ebe9e3;
  overflow: auto;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.publication-reader-spread {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  width: fit-content;
  max-width: 100%;
  margin: auto;
  transform: scale(var(--reader-zoom));
  transform-origin: center;
  transition: transform 120ms ease;
}

.publication-reader-page {
  display: flex;
  flex: 0 1 min(43vw, 33rem);
  flex-direction: column;
  gap: 0.45rem;
  margin: 0;
  min-width: 0;
}

.publication-reader-spread[data-reader-spread-size="1"] .publication-reader-page {
  flex-basis: min(76vw, 34rem);
}

.publication-reader-page-frame {
  position: relative;
  display: grid;
  place-items: center;
  min-height: clamp(15rem, 35vh, 28rem);
  overflow: visible;
  background: #fffdf8;
  box-shadow:
    0 1.7rem 3.4rem rgba(20, 20, 20, 0.17),
    0 0 0 1px rgba(28, 27, 24, 0.08);
}

.publication-reader-spread[data-reader-spread-size="2"] .publication-reader-page:first-child .publication-reader-page-frame {
  box-shadow:
    -0.8rem 1.7rem 3.2rem rgba(20, 20, 20, 0.14),
    inset -1px 0 0 rgba(20, 20, 20, 0.07),
    0 0 0 1px rgba(28, 27, 24, 0.08);
}

.publication-reader-spread[data-reader-spread-size="2"] .publication-reader-page:last-child .publication-reader-page-frame {
  box-shadow:
    0.8rem 1.7rem 3.2rem rgba(20, 20, 20, 0.14),
    inset 1px 0 0 rgba(20, 20, 20, 0.07),
    0 0 0 1px rgba(28, 27, 24, 0.08);
}

.publication-reader-page img {
  display: block;
  width: 100%;
  height: auto;
  max-height: min(40vh, 30rem);
  object-fit: contain;
  background: #fffdf8;
}

.publication-reader-page figcaption {
  width: 100%;
  color: var(--muted);
  font-size: 0.78rem;
  text-align: center;
}

.publication-reader-step {
  display: grid;
  place-items: center;
  width: clamp(2.75rem, 5vw, 3.4rem);
  min-height: auto;
  aspect-ratio: 1 / 1;
  margin: 0 auto;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.86);
  color: var(--text);
  cursor: pointer;
  box-shadow: 0 0.6rem 1.6rem rgba(22, 21, 18, 0.1);
}

.publication-reader-step .icon {
  width: clamp(1.25rem, 3vw, 1.65rem);
  height: clamp(1.25rem, 3vw, 1.65rem);
}

.publication-reader-step:disabled {
  opacity: 0.32;
  cursor: default;
}

.publication-reader-thumbnails-shell,
.publication-reader-controls {
  border: 1px solid #dfddd5;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 0.5rem 1.1rem rgba(22, 21, 18, 0.05);
}

.publication-reader-thumbnails-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.6rem 0.7rem;
  border-bottom: 1px solid var(--line);
}

.publication-reader-thumbnails-shell.is-collapsed .publication-reader-thumbnails-header {
  border-bottom: 0;
}

.publication-reader-indicator {
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 700;
}

.publication-reader-thumbnails {
  display: flex;
  gap: 0.6rem;
  overflow-x: auto;
  padding: 0.65rem;
  scroll-padding-inline: 0.65rem;
}

.publication-reader-thumbnails[hidden] {
  display: none;
}

.publication-reader-thumb {
  display: grid;
  flex: 0 0 8rem;
  gap: 0.35rem;
  min-height: auto;
  padding: 0.32rem;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: #fbfaf7;
  color: var(--text);
  cursor: pointer;
}

.publication-reader-thumb:hover,
.publication-reader-thumb:focus-visible,
.publication-reader-thumb.is-active {
  border-color: #191817;
  background: #fff;
}

.publication-reader-thumb-preview {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 4.65rem;
  overflow: hidden;
  background: #ebe9e2;
}

.publication-reader-thumb-preview img {
  width: 100%;
  height: 4.65rem;
  object-fit: contain;
  background: #fffdf8;
}

.publication-reader-thumb-preview img + img {
  border-left: 1px solid rgba(20, 20, 20, 0.12);
}

.publication-reader-thumb-label {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
  text-align: center;
}

.publication-reader-controls {
  display: grid;
  grid-template-columns: minmax(4.4rem, auto) minmax(10rem, 1fr) auto auto auto;
  align-items: center;
  gap: 0.65rem;
  padding: 0.65rem 0.7rem;
}

.publication-reader-range-label {
  min-width: 4.2rem;
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 700;
}

.publication-reader-controls input[type="range"] {
  width: 100%;
  height: 1.25rem;
  accent-color: var(--accent);
  background: transparent;
}

.publication-reader-controls input[type="range"]::-webkit-slider-runnable-track {
  height: 0.34rem;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--accent), #d7d4c8);
}

.publication-reader-controls input[type="range"]::-webkit-slider-thumb {
  appearance: none;
  width: 1.05rem;
  height: 1.05rem;
  margin-top: -0.36rem;
  border: 2px solid #fff;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0.2rem 0.6rem rgba(22, 21, 18, 0.24);
}

.publication-reader-controls input[type="range"]::-moz-range-track {
  height: 0.34rem;
  border-radius: 999px;
  background: #d7d4c8;
}

.publication-reader-controls input[type="range"]::-moz-range-progress {
  height: 0.34rem;
  border-radius: 999px;
  background: var(--accent);
}

.publication-reader-controls input[type="range"]::-moz-range-thumb {
  width: 0.9rem;
  height: 0.9rem;
  border: 2px solid #fff;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0.2rem 0.6rem rgba(22, 21, 18, 0.24);
}

.publication-reader-control-group {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 4px;
  overflow: hidden;
}

.publication-reader-control-button,
.publication-reader-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  min-height: 2.25rem;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: #fff;
  color: var(--text);
  cursor: pointer;
  font-size: 0.86rem;
  font-weight: 700;
}

.publication-reader-control-group .publication-reader-control-button,
.publication-reader-control-group .publication-reader-icon-button {
  border-width: 0;
  border-radius: 0;
}

.publication-reader-control-group .publication-reader-control-button + .publication-reader-control-button,
.publication-reader-control-group .publication-reader-control-button + .publication-reader-icon-button,
.publication-reader-control-group .publication-reader-icon-button + .publication-reader-control-button,
.publication-reader-control-group .publication-reader-icon-button + .publication-reader-icon-button {
  border-left: 1px solid var(--line);
}

.publication-reader-control-button {
  padding: 0.35rem 0.65rem;
}

.publication-reader-icon-button {
  width: 2.25rem;
  padding: 0;
}

.publication-reader-control-button .icon,
.publication-reader-icon-button .icon {
  width: 1rem;
  height: 1rem;
}

.publication-reader-control-button[aria-pressed="true"],
.publication-reader-icon-button[aria-pressed="true"] {
  background: #141414;
  color: #fff;
}

.publication-reader-control-button:disabled,
.publication-reader-icon-button:disabled {
  opacity: 0.4;
  cursor: default;
}

.publication-reader:fullscreen {
  overflow: auto;
  width: 100%;
  height: 100%;
  padding: 1rem;
  background: #f7f6f2;
}

.publication-reader:fullscreen .publication-reader-stage {
  min-height: calc(100vh - 12rem);
}

.publication-processing-panel {
  margin: 2rem 0;
}

@media (max-width: 780px) {
  .publication-reader-header {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .publication-reader-actions {
    justify-content: flex-start;
  }

  .publication-reader-stage {
    grid-template-columns: 1fr 1fr;
    min-height: auto;
  }

  .publication-reader-spread {
    grid-column: 1 / -1;
    grid-row: 1;
    width: 100%;
    transform-origin: top center;
  }

  .publication-reader-page,
  .publication-reader-spread[data-reader-spread-size="1"] .publication-reader-page {
    flex-basis: min(100%, 22rem);
  }

  .publication-reader-step {
    min-height: 3rem;
    width: 100%;
    border-radius: 0;
  }

  .publication-reader-step--previous {
    grid-column: 1;
  }

  .publication-reader-step--next {
    grid-column: 2;
  }

  .publication-reader-page-frame {
    min-height: auto;
  }

  .publication-reader-page img {
    max-height: 62vh;
  }

  .publication-reader-controls {
    grid-template-columns: 1fr;
  }

  .publication-reader-control-group,
  .publication-reader-control-button,
  .publication-reader-icon-button {
    width: 100%;
  }

  .publication-reader-control-group .publication-reader-control-button,
  .publication-reader-control-group .publication-reader-icon-button {
    flex: 1 1 0;
  }

  .publication-reader-thumbnails-header {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 780px), (hover: none), (pointer: coarse) {
  .profile-image-edit-link {
    opacity: 0;
    pointer-events: none;
    transform: translateY(0.25rem);
  }

  .profile-image.is-edit-visible .profile-image-edit-link,
  .profile-image:focus-within .profile-image-edit-link {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }

  .project-doc-toolbar {
    -webkit-overflow-scrolling: touch;
  }

  .project-doc-format-button,
  .project-doc-history-button,
  .project-doc-style-button {
    min-height: 2.75rem;
  }

  .project-doc-format-button,
  .project-doc-history-button,
  .project-doc-style-button {
    min-width: 2.75rem;
  }

  .project-doc-history-button {
    width: 2.75rem;
    height: 2.75rem;
  }

  .project-doc-node-button {
    min-width: 2.35rem;
    min-height: 2.35rem;
    padding: 0.42rem 0.55rem;
    font-size: 0.85rem;
  }

  .image-placement-frame > .image-collection-control {
    display: none;
  }

  .image-detail-media .image-collection-control {
    display: block;
  }

  .collection-chooser {
    width: min(20rem, calc(100vw - 1.5rem));
    max-height: min(28rem, calc(100vh - 6rem));
  }
}

figcaption {
  color: var(--muted);
  margin-top: 0.5rem;
}

.project-text {
  max-width: 720px;
  font-size: 1.08rem;
  line-height: 1.4;
}

.project-block-align-left,
.project-block-align-center,
.project-block-align-right {
  width: min(100%, 720px);
}

.project-block-align-left {
  justify-self: start;
}

.project-block-align-center {
  justify-self: center;
}

.project-block-align-right {
  justify-self: end;
}

.project-text.project-block-align-left,
.project-list-block.project-block-align-left,
.project-quote-block.project-block-align-left,
.project-callout-block.project-block-align-left,
.project-document-render-node.project-block-align-left .project-text,
.project-document-render-node.project-block-align-left .project-list-block,
.project-document-render-node.project-block-align-left .project-quote-block,
.project-document-render-node.project-block-align-left .project-callout-block {
  text-align: left;
}

.project-text.project-block-align-center,
.project-list-block.project-block-align-center,
.project-quote-block.project-block-align-center,
.project-callout-block.project-block-align-center,
.project-document-render-node.project-block-align-center .project-text,
.project-document-render-node.project-block-align-center .project-list-block,
.project-document-render-node.project-block-align-center .project-quote-block,
.project-document-render-node.project-block-align-center .project-callout-block {
  text-align: center;
}

.project-text.project-block-align-right,
.project-list-block.project-block-align-right,
.project-quote-block.project-block-align-right,
.project-callout-block.project-block-align-right,
.project-document-render-node.project-block-align-right .project-text,
.project-document-render-node.project-block-align-right .project-list-block,
.project-document-render-node.project-block-align-right .project-quote-block,
.project-document-render-node.project-block-align-right .project-callout-block {
  text-align: right;
}

.project-list-block.project-block-align-center ul,
.project-list-block.project-block-align-center ol,
.project-list-block.project-block-align-right ul,
.project-list-block.project-block-align-right ol,
.project-document-render-node.project-block-align-center .project-list-block ul,
.project-document-render-node.project-block-align-center .project-list-block ol,
.project-document-render-node.project-block-align-right .project-list-block ul,
.project-document-render-node.project-block-align-right .project-list-block ol {
  padding-left: 0;
  list-style-position: inside;
}

.project-document-render-node.project-block-align-left:not(.project-text):not(.project-list-block),
.project-document-render-node.project-block-align-center:not(.project-text):not(.project-list-block),
.project-document-render-node.project-block-align-right:not(.project-text):not(.project-list-block),
.project-sequence > section.project-block-align-left:not(.project-text):not(.project-list-block),
.project-sequence > section.project-block-align-center:not(.project-text):not(.project-list-block),
.project-sequence > section.project-block-align-right:not(.project-text):not(.project-list-block) {
  width: 100%;
  max-width: none;
}

.detail-shell .project-sequence .project-document-render-node.project-block-align-left .image-placement-frame,
.detail-shell .project-sequence > section.project-block-align-left .image-placement-frame {
  margin-inline: 0 auto;
}

.detail-shell .project-sequence .project-document-render-node.project-block-align-center .image-placement-frame,
.detail-shell .project-sequence > section.project-block-align-center .image-placement-frame {
  margin-inline: auto;
}

.detail-shell .project-sequence .project-document-render-node.project-block-align-right .image-placement-frame,
.detail-shell .project-sequence > section.project-block-align-right .image-placement-frame {
  margin-inline: auto 0;
}

.detail-shell .project-sequence .project-document-render-node.project-image-display-wide .image-placement-frame {
  width: 100%;
}

.project-preview .project-document-render-node > figure {
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
}

.project-preview .project-document-render-node.project-block-align-left > figure {
  margin-inline: 0 auto;
}

.project-preview .project-document-render-node.project-block-align-right > figure {
  margin-inline: auto 0;
}

.project-preview .project-document-render-node:not(.project-image-display-wide) > figure img {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: var(--public-work-image-max-height);
  object-fit: contain;
  background: #f4f4f2;
}

.project-preview .project-document-render-node.project-image-display-wide > figure {
  width: 100%;
}

.detail-shell .project-sequence .project-document-render-node.project-image-display-wide .image-detail-trigger img,
.project-preview .project-document-render-node.project-image-display-wide > figure img {
  width: 100%;
  max-height: none;
}

.project-document-render-node.project-block-align-left .project-text,
.project-document-render-node.project-block-align-center .project-text,
.project-document-render-node.project-block-align-right .project-text,
.project-document-render-node.project-block-align-left .project-quote-block,
.project-document-render-node.project-block-align-center .project-quote-block,
.project-document-render-node.project-block-align-right .project-quote-block,
.project-document-render-node.project-block-align-left .project-callout-block,
.project-document-render-node.project-block-align-center .project-callout-block,
.project-document-render-node.project-block-align-right .project-callout-block {
  width: min(100%, 720px);
}

.project-document-render-node.project-block-align-left .project-text,
.project-document-render-node.project-block-align-left .project-quote-block,
.project-document-render-node.project-block-align-left .project-callout-block {
  margin-inline: 0 auto;
}

.project-document-render-node.project-block-align-center .project-text,
.project-document-render-node.project-block-align-center .project-quote-block,
.project-document-render-node.project-block-align-center .project-callout-block {
  margin-inline: auto;
}

.project-document-render-node.project-block-align-right .project-text,
.project-document-render-node.project-block-align-right .project-quote-block,
.project-document-render-node.project-block-align-right .project-callout-block {
  margin-inline: auto 0;
}

.project-text p {
  margin: 0 0 0.7rem;
}

.project-text p,
.project-text h2,
.project-text h3,
.project-list-block li p,
.project-quote-block p,
.project-callout-block p {
  tab-size: 4;
  white-space: pre-wrap;
}

.project-text p:last-child {
  margin-bottom: 0;
}

.project-list-block ul,
.project-list-block ol {
  margin: 0;
  padding-left: 1.5rem;
}

.project-list-block li + li {
  margin-top: 0.35rem;
}

.project-list-block li p {
  margin: 0;
}

.project-quote-block {
  max-width: 720px;
  margin: 0;
  padding: 0.25rem 0 0.25rem 1.15rem;
  border-left: 2px solid rgba(69, 66, 59, 0.24);
  background: transparent;
  color: rgba(22, 21, 18, 0.82);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.12rem;
  font-style: italic;
  line-height: 1.45;
}

.project-callout-block {
  max-width: 720px;
  margin: 0;
  padding: 0.9rem 1rem;
  border: 1px solid rgba(69, 66, 59, 0.11);
  background: rgba(69, 66, 59, 0.035);
  color: rgba(22, 21, 18, 0.88);
}

.project-quote-block p {
  margin: 0;
}

.project-quote-block p + p {
  margin-top: 0.45rem;
}

.project-callout-block p {
  margin: 0;
}

.project-callout-block p + p {
  margin-top: 0.45rem;
}

.project-quote-block h2,
.project-callout-block h2 {
  margin-top: 0;
}

.project-divider-block {
  width: min(100%, 760px);
  margin: 0.5rem 0;
  border: 0;
  border-top: 1px solid var(--line);
}

.project-canvas-block {
  display: grid;
  gap: 1rem;
}

.project-canvas-grid {
  display: grid;
  gap: clamp(0.75rem, 2vw, 1.25rem);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
  align-items: start;
}

.project-canvas-block-large_plus_small .project-canvas-slot-large,
.project-canvas-block-full_width_opener .project-canvas-slot-opener,
.project-canvas-block-captioned_spread .project-canvas-slot-image {
  grid-column: span 2;
}

.project-canvas-block-contact_sheet .project-canvas-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr));
}

.project-canvas-block-full_width_opener .project-canvas-grid,
.project-canvas-block-captioned_spread .project-canvas-grid {
  grid-template-columns: minmax(0, 1.4fr) minmax(12rem, 0.8fr);
}

@media (max-width: 760px) {
  .project-block-align-left,
  .project-block-align-center,
  .project-block-align-right {
    justify-self: stretch;
    width: 100%;
  }

  .detail-shell .project-sequence .project-document-render-node.project-block-align-left .image-placement-frame,
  .detail-shell .project-sequence .project-document-render-node.project-block-align-right .image-placement-frame,
  .detail-shell .project-sequence > section.project-block-align-left .image-placement-frame,
  .detail-shell .project-sequence > section.project-block-align-right .image-placement-frame {
    margin-inline: auto;
  }

  .project-canvas-block-large_plus_small .project-canvas-slot-large,
  .project-canvas-block-full_width_opener .project-canvas-slot-opener,
  .project-canvas-block-captioned_spread .project-canvas-slot-image {
    grid-column: auto;
  }

  .project-canvas-block-full_width_opener .project-canvas-grid,
  .project-canvas-block-captioned_spread .project-canvas-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .work-annotation-row.has-anchor-rail {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.55rem;
  }

  .work-annotation-rail {
    justify-content: flex-end;
    width: 100%;
    min-height: 0;
    padding-top: 0;
  }

  .anchor-note {
    display: grid;
    justify-items: end;
    width: 100%;
    max-width: 100%;
    margin: 0.55rem 0 0;
    clear: both;
  }

  .anchor-note summary {
    justify-content: center;
    min-width: 2.25rem;
    min-height: 2.25rem;
    padding: 0.45rem 0.62rem;
  }

  .anchor-note-panel {
    position: static;
    justify-self: end;
    box-sizing: border-box;
    width: min(22rem, calc(100vw - 2rem));
    min-width: 0;
    max-width: calc(100vw - 2rem);
  }
}

.upload-progress-panel {
  margin: 1.25rem 0;
  padding: 1rem;
  border: 1px solid var(--line);
  background: var(--panel);
}

.upload-progress-list {
  list-style: none;
  display: grid;
  gap: 0.75rem;
  margin: 1rem 0 0;
  padding: 0;
}

.upload-progress-item {
  display: grid;
  gap: 0.35rem;
  padding: 0.75rem;
  border: 1px solid var(--line);
  background: #fff;
}

.upload-progress-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  justify-content: space-between;
  align-items: baseline;
}

.upload-progress-row strong,
.upload-progress-status {
  overflow-wrap: anywhere;
}

.upload-progress-status,
.upload-progress-meta {
  color: var(--muted);
  font-size: 0.9rem;
}

.upload-progress-meta {
  margin: 0;
}

.upload-progress-meter {
  height: 0.4rem;
  overflow: hidden;
  background: #ecebea;
}

.upload-progress-meter span {
  display: block;
  height: 100%;
  background: var(--accent);
  transition: width 160ms ease;
}

.upload-progress-item.is-uploaded {
  border-color: #a7c7b1;
}

.upload-progress-item.is-failed {
  border-color: var(--accent-2);
}

.upload-progress-item.is-failed .upload-progress-meter span {
  background: var(--accent-2);
}

.upload-complete-actions {
  display: flex;
  justify-content: flex-end;
  margin: 1rem 0 0;
}

.upload-complete-actions[hidden] {
  display: none;
}

.upload-result.ready,
.upload-result.uploaded {
  border-left: 4px solid var(--accent);
  padding-left: 0.75rem;
}

.upload-result.failed {
  border-left: 4px solid var(--accent-2);
  padding-left: 0.75rem;
}

.metadata-list,
.metadata-suggestions dl {
  display: grid;
  gap: 0.35rem;
  margin: 0;
  font-size: 0.9rem;
}

.metadata-list div,
.metadata-suggestions div {
  display: grid;
  grid-template-columns: minmax(6rem, 0.45fr) 1fr;
  gap: 0.5rem;
}

.metadata-list dt,
.metadata-suggestions dt {
  color: var(--muted);
}

.metadata-label-with-icon {
  display: inline-flex;
  align-items: center;
  gap: 0.32rem;
  min-width: 0;
}

.metadata-label-icon {
  width: 0.9rem;
  height: 0.9rem;
  flex: 0 0 auto;
  stroke-width: 2.15;
}

.metadata-list dd,
.metadata-suggestions dd {
  margin: 0;
}

.search-shell h1 {
  margin-bottom: 1rem;
}

.search-form,
.search-results {
  display: grid;
  gap: 1rem;
}

.search-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.6rem;
  align-items: end;
}

.search-filter-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.75rem;
}

.search-filter-grid p {
  margin: 0;
}

.search-filter-error {
  display: block;
  margin-top: 0.35rem;
  color: var(--accent-2);
  font-size: 0.85rem;
}

.search-result-group {
  display: grid;
  gap: 0.75rem;
}

.search-result-group h2 {
  margin: 0;
  font-size: 1rem;
}

.map-shell h1 {
  margin-bottom: 1rem;
}

.explore-map-layout {
  display: grid;
  gap: 1rem;
}

.explore-map-canvas {
  position: relative;
  min-height: min(72vh, 42rem);
  border: 1px solid var(--line);
  background: #f4f5f1;
  overflow: hidden;
  isolation: isolate;
}

.explore-map-maplibre {
  position: absolute;
  inset: 0;
  z-index: 1;
  opacity: 0;
  pointer-events: none;
}

.explore-map-canvas.is-live-map .explore-map-maplibre {
  opacity: 1;
  pointer-events: auto;
}

.explore-map-plot {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #f8f8f4, #eef1ed);
}

.explore-map-canvas.is-live-map .explore-map-plot {
  display: none;
}

.explore-map-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(20, 20, 20, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(20, 20, 20, 0.08) 1px, transparent 1px);
  background-size: 10% 20%;
  opacity: 0.65;
}

.explore-map-marker {
  position: absolute;
  z-index: 2;
  width: 1rem;
  height: 1rem;
  border: 2px solid #fff;
  border-radius: 999px;
  background: var(--accent);
  box-shadow: 0 0 0 1px rgba(20, 20, 20, 0.24), 0 0.4rem 1.2rem rgba(20, 20, 20, 0.2);
  transform: translate(-50%, -50%);
  transition: background 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.explore-map-marker:hover,
.explore-map-marker:focus-visible {
  background: var(--accent-2);
  box-shadow: 0 0 0 1px rgba(20, 20, 20, 0.32), 0 0.6rem 1.5rem rgba(20, 20, 20, 0.26);
  transform: translate(-50%, -50%) scale(1.2);
}

.explore-map-controls {
  position: absolute;
  left: 0.65rem;
  bottom: 0.6rem;
  z-index: 4;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  max-width: min(70%, 32rem);
}

.explore-map-controls[hidden] {
  display: none;
}

.explore-map-control {
  border: 1px solid rgba(20, 20, 20, 0.18);
  border-radius: 0;
  background: rgba(255, 255, 255, 0.92);
  color: var(--text);
  cursor: pointer;
  font: inherit;
  font-size: 0.78rem;
  line-height: 1.2;
  padding: 0.38rem 0.5rem;
}

.explore-map-control:hover,
.explore-map-control:focus-visible {
  border-color: var(--text);
  outline: 2px solid transparent;
}

.explore-map-control:disabled {
  cursor: default;
  opacity: 0.55;
}

.explore-map-status {
  position: absolute;
  left: 0.65rem;
  top: 0.6rem;
  z-index: 4;
  max-width: min(26rem, calc(100% - 1.3rem));
  margin: 0;
  padding: 0.18rem 0.35rem;
  background: rgba(255, 255, 255, 0.86);
  color: var(--muted);
  font-size: 0.74rem;
  line-height: 1.25;
}

.explore-map-status:empty {
  display: none;
}

.explore-map-attribution {
  position: absolute;
  right: 0.65rem;
  bottom: 0.55rem;
  z-index: 4;
  margin: 0;
  padding: 0.18rem 0.35rem;
  background: rgba(255, 255, 255, 0.86);
  color: var(--muted);
  font-size: 0.74rem;
  line-height: 1.25;
}

.explore-map-attribution a {
  color: inherit;
}

.explore-map-feed {
  display: grid;
  gap: 1rem;
}

.explore-map-feed h2 {
  margin: 0;
  font-size: 1rem;
  text-transform: uppercase;
}

.profile-result-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0.75rem;
}

.profile-result-card,
.collective-result-card {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  border: 1px solid var(--line);
  padding: 0.75rem;
  color: var(--text);
  text-decoration: none;
}

.profile-result-card small,
.collective-result-card small {
  display: block;
  color: var(--muted);
}

.collective-result-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 0.75rem;
}

.profile-result-image,
.collective-result-image {
  width: 4rem;
  height: 4rem;
  object-fit: cover;
}

.collective-shell {
  display: grid;
  gap: 1.25rem;
}

.collective-header {
  display: grid;
  gap: 0.5rem;
}

.collective-header-with-logo {
  grid-template-columns: 7rem minmax(0, 1fr);
  align-items: center;
  column-gap: 1rem;
}

.collective-header-copy {
  display: grid;
  gap: 0.5rem;
}

.collective-header h1 {
  margin: 0;
}

.collective-home-shell {
  gap: clamp(1.15rem, 3vw, 1.8rem);
}

.collective-home-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(14rem, 18rem);
  gap: clamp(1rem, 4vw, 2rem);
  align-items: end;
  border-bottom: 1px solid var(--line);
  padding-bottom: clamp(1rem, 3vw, 1.4rem);
}

.collective-home-hero h1,
.collective-home-hero p {
  margin: 0;
}

.collective-home-hero .statement {
  max-width: 42rem;
  margin-top: 0.55rem;
  color: var(--muted);
  font-size: clamp(1.05rem, 2vw, 1.25rem);
  line-height: 1.45;
}

.collective-home-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: 1px solid var(--line);
  background: var(--panel);
}

.collective-home-stats span {
  display: grid;
  gap: 0.15rem;
  padding: 0.75rem;
}

.collective-home-stats span + span {
  border-left: 1px solid var(--line);
}

.collective-home-stats strong {
  font-size: 1.4rem;
  line-height: 1;
}

.collective-home-stats small {
  color: var(--muted);
  line-height: 1.25;
}

.collective-home-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(17rem, 22rem);
  gap: clamp(1rem, 3vw, 1.35rem);
  align-items: start;
}

.collective-home-main {
  min-width: 0;
}

.collective-section-header {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 1rem;
  border-bottom: 1px solid var(--line);
  padding-bottom: 0.55rem;
}

.collective-section-header h2,
.collective-section-header p {
  margin: 0;
}

.collective-section-header > small {
  color: var(--muted);
  font-size: 0.86rem;
}

.collective-invitation-section {
  border: 1px solid rgba(83, 78, 64, 0.24);
  background: #fbfaf6;
  padding: 0.85rem;
}

.collective-home-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 21rem), 1fr));
  gap: 0.85rem;
}

.collective-home-card {
  display: grid;
  grid-template-columns: 5.35rem minmax(0, 1fr);
  gap: 0.75rem;
  align-items: start;
  border: 1px solid var(--line);
  background: #fff;
  padding: 0.8rem;
}

.collective-home-card:hover,
.collective-home-card:focus-within {
  border-color: var(--text);
}

.collective-home-card--invitation {
  background: #fffdf7;
}

.collective-home-card .collective-logo-frame {
  width: 5.35rem;
}

.collective-home-card-body {
  display: grid;
  gap: 0.5rem;
  min-width: 0;
}

.collective-home-card-body small {
  color: var(--muted);
  line-height: 1.35;
}

.collective-card-title {
  color: var(--text);
  font-size: 1.05rem;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.collective-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
}

.collective-create-panel {
  position: sticky;
  top: 5.75rem;
  display: grid;
  gap: 0.85rem;
  border: 1px solid var(--line);
  background: var(--panel);
  padding: 0.9rem;
}

.collective-create-panel h2,
.collective-create-panel p {
  margin: 0;
}

.collective-create-panel .helper {
  margin-top: 0.35rem;
  line-height: 1.4;
}

.collective-create-form {
  display: grid;
  gap: 0.65rem;
}

.collective-create-form p,
.collective-invite-form p,
.collective-inline-form {
  margin: 0;
}

.collective-create-form p {
  display: grid;
  gap: 0.28rem;
}

.collective-create-form input,
.collective-create-form textarea {
  width: 100%;
}

.collective-create-form textarea {
  min-height: 6rem;
}

.collective-create-form .button {
  width: 100%;
  gap: 0.35rem;
}

.collective-invite-form {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: end;
}

.collective-invite-form p {
  display: grid;
  min-width: min(100%, 18rem);
  gap: 0.25rem;
}

.collective-inline-form {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  align-items: center;
}

.collective-inline-form label {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.92rem;
  font-weight: 700;
}

.collective-logo-frame {
  display: block;
  width: 7rem;
  aspect-ratio: 1 / 1;
  border: 1px solid var(--line);
  background: var(--panel);
  overflow: hidden;
}

.collective-logo-placeholder {
  display: grid;
  place-items: center;
  color: var(--muted);
  font-weight: 800;
  font-size: 1.6rem;
}

.collective-logo-image,
.collective-logo-frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.collective-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0;
}

.collective-actions .button {
  gap: 0.34rem;
}

.collective-actions .button .icon {
  width: 0.9rem;
  height: 0.9rem;
}

.collective-member-management-grid {
  display: grid;
  gap: 0.75rem;
}

.collective-member-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  border: 1px solid var(--line);
  background: var(--panel);
  padding: 0.75rem;
}

.collective-member-card > span:first-child {
  display: grid;
  gap: 0.2rem;
}

.collective-member-card small {
  color: var(--muted);
}

.collective-badge-form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.6rem;
  margin: 0.25rem 0 0;
}

.collective-badge-form label {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.92rem;
  font-weight: 700;
}

.collective-section {
  display: grid;
  gap: 0.75rem;
}

.collective-section h2 {
  margin: 0;
  font-size: 1rem;
}

.collective-member-grid,
.collective-project-grid,
.collective-image-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0.75rem;
}

.collective-project-card {
  display: grid;
  gap: 0;
  border: 1px solid var(--line);
  background: var(--panel);
  color: var(--text);
  text-decoration: none;
}

.collective-project-card > img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: min(18rem, 50vh);
  aspect-ratio: auto;
  object-fit: contain;
  background: #f4f3ef;
  margin-inline: auto;
}

.collective-project-card > span {
  display: grid;
  gap: 0.35rem;
  padding: 0.7rem;
}

.collective-project-card small,
.collective-project-card a {
  color: var(--muted);
}

.collective-project-form {
  display: grid;
  max-width: 42rem;
  gap: 0.75rem;
}

.collective-logo-form {
  display: grid;
  gap: 0.75rem;
}

.collective-logo-choice-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr));
  gap: 0.75rem;
}

.collective-logo-choice {
  display: grid;
  gap: 0.4rem;
  align-content: start;
  border: 1px solid var(--line);
  background: var(--panel);
  padding: 0.65rem;
  color: var(--text);
}

.collective-logo-choice:has(input:checked) {
  border-color: var(--text);
}

.collective-logo-choice input {
  margin: 0;
}

.collective-logo-empty,
.collective-logo-option-thumb {
  display: grid;
  place-items: center;
  width: 100%;
  aspect-ratio: 1 / 1;
  border: 1px solid var(--line);
  color: var(--muted);
  background: var(--surface);
}

.collective-logo-option-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.collective-project-form p {
  margin: 0;
}

.collective-image-card {
  border: 1px solid var(--line);
  background: var(--panel);
}

.collective-image-card img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: min(22rem, 56vh);
  aspect-ratio: auto;
  object-fit: contain;
  background: #f4f3ef;
  margin-inline: auto;
}

.collective-image-card div {
  display: grid;
  gap: 0.2rem;
  padding: 0.7rem;
}

.collective-image-card small,
.collective-image-card a {
  color: var(--muted);
}

.collective-pool-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 0.75rem;
}

.collective-pool-card {
  border: 1px solid var(--line);
  background: var(--panel);
}

.collective-pool-card img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: min(18rem, 50vh);
  aspect-ratio: auto;
  object-fit: contain;
  background: #f4f3ef;
  margin-inline: auto;
}

.collective-pool-work-card {
  display: grid;
  align-content: start;
  min-height: 14rem;
}

.collective-pool-card-body {
  display: grid;
  gap: 0.45rem;
  padding: 0.7rem;
}

.collective-pool-card-body small {
  color: var(--muted);
}

.metadata-preview {
  display: block;
  width: auto;
  max-width: min(280px, 100%);
  height: auto;
  max-height: min(22rem, 56vh);
  aspect-ratio: auto;
  object-fit: contain;
  background: #f4f3ef;
  margin-bottom: 1rem;
}

:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: no-preference) {
  .work-tile img,
  .feed-tile img {
    transition: transform 180ms ease;
  }

  .work-tile:hover img,
  .work-tile:focus-visible img,
  .feed-tile:hover img,
  .feed-tile:focus-visible img {
    transform: scale(1.025);
  }
}

@media (max-width: 1100px) {
  .feed-masonry:not([data-feed-masonry-section]) {
    column-count: 3;
  }

  .collection-detail-grid {
    column-count: 3;
  }
}

@media (max-width: 1080px) {
  .project-doc-workspace {
    grid-template-columns: minmax(0, 1fr);
  }

  .project-doc-savebar {
    grid-column: 1;
    grid-row: auto;
    position: static;
  }

  .project-doc-panel .composer-image-picker,
  .project-doc-image-picker .composer-image-picker {
    grid-template-columns: repeat(auto-fill, minmax(7.5rem, 1fr));
  }

  .project-doc-toolbar {
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-gutter: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .project-doc-toolbar::-webkit-scrollbar {
    display: none;
  }

  .project-doc-toolbar > * {
    flex: 0 0 auto;
  }

  .project-doc-toolbar-group-style {
    flex: 0 0 auto;
  }

  .project-doc-toolbar-group-insert {
    flex: 0 0 auto;
  }

  .project-doc-style-controls {
    flex: 0 0 auto;
  }

  .project-doc-toolbar [data-insert-type] {
    flex: 0 0 auto;
  }

  .project-doc-title-input {
    font-size: 2.85rem;
  }
}

@media (max-width: 780px) {
  .site-header,
  .main-nav {
    align-items: flex-start;
  }

  .site-header,
  .hero,
  .frontpage-statement,
  .collective-home-hero,
  .collective-home-layout,
  .feed-layout,
  .project-doc-workspace,
  .page-title-row,
  .profile-header,
  .split {
    grid-template-columns: 1fr;
  }

  .preview-grid {
    column-count: 2;
  }

  .feed-timeline {
    position: static;
    display: flex;
    gap: 0.75rem;
    max-height: none;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0 0 0.25rem;
    border-block: 0;
    scrollbar-gutter: auto;
  }

  .feed-timeline-link {
    min-width: max-content;
    border-left: 0;
    border-bottom: 2px solid var(--line);
    padding: 0 0 0.25rem;
  }

  .feed-timeline-link.active {
    border-bottom-color: var(--text);
  }

  .feed-masonry:not([data-feed-masonry-section]) {
    column-count: 2;
    column-gap: 0.72rem;
  }

  .feed-masonry[data-feed-masonry-section] {
    --feed-masonry-gap: 0.72rem;
    --feed-masonry-min-column-width: 9.25rem;
  }

  .collection-detail-grid {
    column-count: 2;
    column-gap: 0.72rem;
  }

  .feed-tile {
    margin-bottom: 0.72rem;
  }

  .collection-detail-card {
    margin-bottom: 0.72rem;
  }

  .image-placement-frame > .image-collection-control {
    display: none;
  }

  .image-detail-media .image-collection-control {
    display: block;
  }

  .image-detail-overlay {
    padding: 0.75rem;
  }

  .image-detail-panel {
    width: 100%;
    height: 100%;
    max-height: 100%;
    border-radius: 4px;
  }

  .image-detail-close {
    top: 0.65rem;
    right: 0.65rem;
    z-index: 6;
    width: 2.25rem;
    height: 2.25rem;
  }

  .image-detail-media img {
    width: 100%;
    height: 100%;
    max-height: 100%;
    object-fit: contain;
  }

  .public-metadata.metadata-list {
    gap: 0.6rem;
  }

  .public-metadata.metadata-list div {
    grid-template-columns: 1fr;
    gap: 0.08rem;
  }

  .public-metadata.metadata-list dt,
  .public-metadata.metadata-list dd {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .search-row,
  .search-filter-grid {
    grid-template-columns: 1fr;
  }

  .explore-map-canvas {
    min-height: 22rem;
  }

  .explore-map-controls {
    left: 0.5rem;
    right: 0.5rem;
    bottom: 1.9rem;
    max-width: none;
  }

  .explore-map-control {
    flex: 1 1 auto;
    min-width: 5rem;
  }

  .explore-map-attribution {
    left: 0.5rem;
    right: auto;
    max-width: calc(100% - 1rem);
  }

  .collective-header-with-logo {
    grid-template-columns: 1fr;
  }

  .collective-home-stats {
    max-width: none;
  }

  .collective-create-panel {
    position: static;
  }

  .collective-home-card {
    grid-template-columns: 4.5rem minmax(0, 1fr);
  }

  .collective-home-card .collective-logo-frame {
    width: 4.5rem;
  }

  .collective-actions .button,
  .collective-actions .collective-inline-form {
    flex: 1 1 auto;
  }

  .site-header {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding-block: 0.75rem;
  }

  .main-nav {
    width: auto;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0;
    overflow: visible;
    padding: 0;
    margin-left: auto;
  }

  .main-nav-group {
    display: none;
  }

  .main-nav-group--account {
    display: inline-flex;
    padding-left: 0;
    border-left: 0;
  }

  .main-nav-link,
  .main-nav .notification-nav-link,
  .main-nav .profile-shortcut,
  .main-nav .main-nav-auth-form {
    display: none;
  }

  .main-nav .global-menu {
    display: block;
    flex: 0 0 auto;
  }

  .brand small {
    font-size: 0.68rem;
  }

  .profile-shortcut,
  .notification-nav-link,
  .global-menu-button {
    width: 2.25rem;
    height: 2.25rem;
  }

  .main-nav .global-menu {
    position: relative;
    z-index: 42;
    background: transparent;
    box-shadow: none;
  }

  .global-menu-panel {
    position: fixed;
    top: 4.7rem;
    left: 1rem;
    right: 1rem;
    width: auto;
    min-width: 0;
    max-width: calc(100vw - 2rem);
    gap: 0.7rem;
    padding: 1rem;
  }

  .global-menu-mobile-primary {
    display: grid;
    gap: 0.7rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--line);
  }

  .global-menu-mobile-entry {
    display: block;
  }

  .global-menu-panel a,
  .global-menu-panel .link-button {
    font-size: 1rem;
    line-height: 1.35;
    white-space: normal;
  }

  .owner-actions {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: 100%;
    margin-left: 0;
    gap: 0.45rem;
  }

  .profile-action {
    min-height: 2.35rem;
    padding-inline: 0.45rem;
    justify-content: center;
    box-shadow: none;
  }

  .profile-action-label--desktop {
    display: none;
  }

  .profile-action-label--mobile {
    display: inline;
  }

  .profile-create-menu-panel {
    left: auto;
    right: 0;
    min-width: min(15rem, calc(100vw - 2rem));
  }

  .project-doc-savebar {
    grid-column: 1;
    grid-row: auto;
    position: static;
  }

  .project-doc-shell {
    width: 100%;
    margin: 0 auto 1rem;
  }

  .project-doc-local-draft {
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 0.32rem;
    margin: 0.55rem 0.9rem 0;
    padding: 0.38rem 0.42rem;
    border-color: rgba(69, 66, 59, 0.14);
    background: rgba(255, 255, 255, 0.72);
  }

  .project-doc-local-draft p {
    font-size: 0.76rem;
    font-weight: 650;
    line-height: 1.2;
  }

  .project-doc-local-draft span {
    display: block;
    font-size: 0.72rem;
  }

  .project-doc-local-draft .button {
    min-height: 1.45rem;
    padding: 0.14rem 0.36rem;
    font-size: 0.72rem;
  }

  .project-doc-page {
    padding: 0.9rem 0.9rem 5.25rem;
    border: 0;
    box-shadow: none;
    overflow: hidden;
  }

  .project-editor-details {
    margin: 0.6rem 0 1rem;
    padding: 0.3rem 0 0.38rem;
  }

  .project-editor-details .project-doc-panel summary {
    grid-template-columns: max-content minmax(0, 1fr) 0.7rem;
    column-gap: 0.55rem;
    row-gap: 0.12rem;
    min-height: 1.9rem;
    margin-inline: -0.24rem;
    padding: 0.28rem 0.24rem;
    font-size: 0.82rem;
  }

  .project-doc-panel.post-editor-inline-panel summary {
    grid-template-columns: max-content minmax(0, 1fr) 0.7rem;
    column-gap: 0.55rem;
    row-gap: 0.12rem;
  }

  .project-editor-details .project-doc-panel-title,
  .project-editor-details .project-doc-panel summary > span:first-child {
    gap: 0.32rem;
    font-size: 0.82rem;
    font-weight: 620;
    line-height: 1.2;
  }

  .project-editor-details .project-doc-panel summary .icon {
    width: 0.72rem;
    height: 0.72rem;
  }

  .project-detail-current,
  .project-cover-current {
    align-self: center;
    font-size: 0.74rem;
    line-height: 1.2;
  }

  .project-cover-current {
    gap: 0.32rem;
  }

  .project-cover-current-thumb {
    width: 1.05rem;
    height: 1.05rem;
  }

  .project-editor-details .project-doc-panel > :not(summary) {
    margin-left: 0;
  }

  .project-editor-details .project-cover-picker {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 0.46rem;
    overflow-x: auto;
    padding: 0.05rem 0.6rem 0.3rem 0;
    scrollbar-width: none;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
  }

  .project-editor-details .project-cover-picker::-webkit-scrollbar {
    display: none;
  }

  .project-editor-details .project-cover-options {
    display: contents;
  }

  .project-editor-details .project-cover-option {
    flex: 0 0 min(5.6rem, 28vw);
    padding: 0.14rem;
    scroll-snap-align: start;
  }

  .project-editor-details .project-cover-option-auto {
    flex-basis: min(5.6rem, 28vw);
  }

  .project-editor-details .project-cover-thumb,
  .project-editor-details .project-cover-auto-thumb {
    aspect-ratio: 4 / 3;
  }

  .project-doc-title-input {
    margin: 0.08rem 0 0.28rem;
    font-size: 2.05rem;
    line-height: 1.12;
  }

  .project-doc-intro-input {
    min-height: 2.25rem;
    font-size: 0.98rem;
    line-height: 1.28;
  }

  .project-doc-toolbar-shell {
    grid-column: 1;
    grid-row: auto;
    display: block;
    position: fixed;
    top: auto;
    bottom: calc(0.65rem + env(safe-area-inset-bottom, 0px));
    left: 50%;
    z-index: 12;
    width: min(calc(100vw - 1rem), 42rem);
    margin: 0;
    border: 0;
    background: transparent;
    backdrop-filter: none;
    pointer-events: none;
    transform: translateX(-50%);
  }

  .project-doc-toolbar-shell:focus-within {
    z-index: 20;
  }

  .project-doc-toolbar {
    display: flex;
    flex-wrap: nowrap;
    gap: 0;
    align-items: center;
    max-width: 100%;
    overflow-x: auto;
    padding: 0.32rem;
    border: 1px solid rgba(69, 66, 59, 0.14);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 0.65rem 1.8rem rgba(24, 23, 21, 0.12);
    scrollbar-gutter: auto;
    scrollbar-width: none;
    pointer-events: auto;
    -webkit-overflow-scrolling: touch;
  }

  .project-doc-toolbar::-webkit-scrollbar {
    display: none;
  }

  .post-editor-page {
    padding-bottom: 1.25rem;
  }

  .post-editor-shell .project-doc-toolbar-shell {
    position: static;
    width: 100%;
    margin: 0.85rem 0 1rem;
    transform: none;
    pointer-events: auto;
  }

  .post-editor-shell .project-doc-toolbar {
    border-radius: 999px;
    box-shadow: none;
  }

  .profile-page-editor-form .profile-rich-toolbar-shell {
    position: relative;
    bottom: auto;
    left: auto;
    width: 100%;
    max-width: 100%;
    margin: 0.55rem 0 0.85rem;
    transform: none;
    pointer-events: auto;
  }

  .profile-page-editor-form .profile-rich-toolbar {
    border-radius: 999px;
    box-shadow: none;
  }

  .project-doc-toolbar > * {
    flex: 0 0 auto;
    min-width: auto;
  }

  .project-doc-toolbar-group {
    display: inline-flex;
    gap: 0.18rem;
    align-items: center;
    min-width: auto;
    padding: 0 0.32rem;
    border-right: 1px solid rgba(69, 66, 59, 0.14);
  }

  .project-doc-toolbar-group:first-child {
    padding-left: 0;
  }

  .project-doc-toolbar-group:last-child {
    padding-right: 0;
    border-right: 0;
  }

  .project-doc-toolbar-group-style,
  .project-doc-toolbar-group-insert {
    flex: 0 0 auto;
    min-width: auto;
  }

  .project-doc-style-controls {
    flex: 0 0 auto;
  }

  .project-doc-style-button {
    width: 2.35rem;
    min-width: 2.35rem;
    min-height: 2.35rem;
    border-radius: 999px;
  }

  .project-doc-toolbar button {
    width: auto;
  }

  .project-doc-format-button,
  .project-doc-history-button,
  .project-doc-toolbar [data-insert-type] {
    justify-content: center;
    width: 2.35rem;
    min-width: 2.35rem;
    height: 2.35rem;
    min-height: 2.35rem;
    padding: 0;
    border-radius: 999px;
  }

  .project-doc-toolbar [data-insert-type] span {
    display: none;
  }

  .project-doc-link-popover {
    position: absolute;
    right: 0.2rem;
    bottom: calc(100% + 0.5rem);
    left: 0.2rem;
    margin: 0;
    border-radius: 16px;
    pointer-events: auto;
  }

  .project-doc-savebar {
    align-items: flex-start;
    width: 100%;
    margin: clamp(1.35rem, 8vw, 2.35rem) 0 0;
    padding-top: 0.65rem;
    border-top-color: rgba(69, 66, 59, 0.12);
  }

  .project-doc-save-status {
    flex: 1 0 100%;
    margin: 0;
    font-size: 0.78rem;
    line-height: 1.2;
  }

  .project-doc-save-actions {
    flex-wrap: nowrap;
    gap: 0.42rem;
    justify-content: flex-start;
    width: 100%;
    overflow-x: auto;
    padding-bottom: 0.08rem;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .project-doc-save-actions::-webkit-scrollbar {
    display: none;
  }

  .project-doc-save-actions .button {
    flex: 0 0 auto;
    min-height: 2.18rem;
    padding: 0.45rem 0.62rem;
    font-size: 0.84rem;
    line-height: 1.1;
    white-space: nowrap;
  }

  .project-doc-save-actions .button:first-child {
    flex: 0 0 auto;
    min-width: min(8.5rem, 44vw);
  }

  .project-doc-save-actions .button.secondary {
    border-color: rgba(69, 66, 59, 0.22);
    background: rgba(255, 255, 255, 0.76);
  }

  .project-doc-page {
    min-height: 0;
  }

  .project-doc-prosemirror {
    min-height: 26rem;
  }

  .project-doc-image-picker {
    align-items: end;
    justify-items: stretch;
    padding: 0.5rem 0.5rem 0;
  }

  .project-doc-image-picker-dialog {
    width: 100%;
    max-height: min(72dvh, calc(100vh - 1rem));
    border-radius: 8px 8px 0 0;
  }

  .project-doc-node {
    grid-template-columns: 1fr;
  }

  .project-doc-media-node {
    padding: 0.7rem;
  }

  .project-doc-media-head,
  .project-doc-media-actions,
  .project-doc-media-empty {
    align-items: stretch;
  }

  .project-doc-node-image.project-doc-media-node-has-images:hover .project-doc-media-head,
  .project-doc-node-image.project-doc-media-node-has-images:focus .project-doc-media-head,
  .project-doc-node-image.project-doc-media-node-has-images:focus-within .project-doc-media-head,
  .project-doc-node-image.project-doc-media-node-has-images.is-active-target .project-doc-media-head,
  .project-doc-node-canvas.project-doc-media-node-has-images:hover .project-doc-media-head,
  .project-doc-node-canvas.project-doc-media-node-has-images:focus .project-doc-media-head,
  .project-doc-node-canvas.project-doc-media-node-has-images:focus-within .project-doc-media-head,
  .project-doc-node-canvas.project-doc-media-node-has-images.is-active-target .project-doc-media-head,
  .project-doc-node-canvas.project-doc-media-node-has-images.ProseMirror-selectednode .project-doc-media-head {
    position: static;
    width: max-content;
    max-width: 100%;
    justify-content: flex-end;
    margin-left: auto;
    margin-bottom: 0.6rem;
    box-shadow: none;
    backdrop-filter: none;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .project-doc-node-canvas.project-doc-media-node-has-images .project-doc-media-head,
  .project-doc-node-canvas.project-doc-media-node-has-images .project-doc-selected-images {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
  }

  .project-doc-node-canvas.project-doc-media-node-has-images .project-doc-selected-images {
    max-height: none;
    margin-top: 0.65rem;
  }

  .project-doc-node-canvas.project-doc-media-node-has-images:not(.project-doc-media-node-has-note)
    .project-doc-canvas-note {
    max-height: none;
    margin-top: 0.65rem;
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
  }

  .project-doc-node-image.project-doc-media-node-has-images:hover .project-doc-media-head::-webkit-scrollbar,
  .project-doc-node-image.project-doc-media-node-has-images:focus .project-doc-media-head::-webkit-scrollbar,
  .project-doc-node-image.project-doc-media-node-has-images:focus-within .project-doc-media-head::-webkit-scrollbar,
  .project-doc-node-image.project-doc-media-node-has-images.is-active-target .project-doc-media-head::-webkit-scrollbar,
  .project-doc-node-canvas.project-doc-media-node-has-images:hover .project-doc-media-head::-webkit-scrollbar,
  .project-doc-node-canvas.project-doc-media-node-has-images:focus .project-doc-media-head::-webkit-scrollbar,
  .project-doc-node-canvas.project-doc-media-node-has-images:focus-within .project-doc-media-head::-webkit-scrollbar,
  .project-doc-node-canvas.project-doc-media-node-has-images.is-active-target .project-doc-media-head::-webkit-scrollbar,
  .project-doc-node-canvas.project-doc-media-node-has-images.ProseMirror-selectednode .project-doc-media-head::-webkit-scrollbar {
    display: none;
  }

  .project-doc-node-image.project-doc-media-node-has-images .project-doc-media-actions-floating,
  .project-doc-node-canvas.project-doc-media-node-has-images .project-doc-media-actions {
    margin-left: auto;
  }

  @media (max-width: 360px) {
    .project-doc-node-image.project-doc-media-node-has-images .project-doc-inline-align .button,
    .project-doc-node-image.project-doc-media-node-has-images .project-doc-floating-icon-button {
      width: 1.55rem;
      min-width: 1.55rem;
      height: 1.8rem;
      min-height: 1.8rem;
    }

    .project-doc-node-image.project-doc-media-node-has-images .project-doc-inline-display .button {
      width: auto;
      min-width: 2.4rem;
      height: 1.8rem;
      min-height: 1.8rem;
      padding: 0 0.28rem;
      font-size: 0.68rem;
    }

    .project-doc-node-image.project-doc-media-node-has-images .project-doc-image-remove-button {
      margin-left: 0.05rem;
    }
  }

  .project-doc-media-actions,
  .project-doc-media-empty {
    width: 100%;
  }

  .project-doc-inline-align {
    width: 100%;
  }

  .project-doc-inline-align .button {
    flex: 1;
  }

  .project-doc-inline-library-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .project-doc-inline-library-actions {
    width: 100%;
    min-width: 0;
  }

  .project-doc-inline-display-choice {
    width: 100%;
    flex-basis: auto;
  }

  .project-doc-inline-display-choice-button {
    min-height: 3rem;
  }

  .project-doc-layout-controls {
    flex-wrap: nowrap;
    overflow-x: auto;
    max-width: 100%;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .project-doc-layout-controls::-webkit-scrollbar {
    display: none;
  }

  .project-doc-media-preview-two_up,
  .project-doc-media-preview-large_plus_small,
  .project-doc-media-preview-triptych,
  .project-doc-media-preview-grid,
  .project-doc-media-preview-captioned_spread,
  .project-doc-media-preview-contact_sheet {
    grid-template-columns: 1fr;
  }

  .project-doc-selected-image {
    grid-template-columns: minmax(0, 1fr);
  }

  .project-doc-selected-image-preview {
    width: min(7rem, 100%);
  }

  .project-doc-selected-image-name,
  .project-doc-selected-image-caption,
  .project-doc-selected-image-actions {
    grid-column: 1 / -1;
  }

  .project-doc-selected-image-actions {
    justify-content: flex-start;
  }

  .project-doc-selected-image-actions .project-doc-node-button {
    flex: 0 0 2.35rem;
  }

  .project-doc-selected-image-actions .project-doc-selected-image-remove {
    flex: 0 0 2.35rem;
  }

  .post-selected-image-card {
    grid-template-columns: minmax(0, 1fr);
  }

  .post-selected-image-thumb,
  .post-selected-image-meta,
  .post-selected-image-actions {
    grid-column: 1 / -1;
  }

  .post-selected-image-thumb {
    width: 100%;
  }

  .post-selected-image-actions {
    justify-content: flex-start;
  }

  .post-selected-image-meta {
    max-height: none;
    margin-top: 0.55rem;
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
  }

  .post-selected-image-actions {
    position: static;
    z-index: auto;
    margin-top: 0.45rem;
    opacity: 1;
    pointer-events: auto;
    transform: none;
    visibility: visible;
  }

  .post-editor-library-picker {
    max-height: none;
  }

  .project-doc-panel.post-editor-inline-panel {
    padding: 0;
  }

  .project-doc-panel {
    padding: 0.75rem;
  }

  .project-doc-panel .subnav {
    display: flex;
    gap: 0.35rem;
    align-items: center;
  }

  .project-doc-panel .composer-image-picker,
  .project-doc-image-picker .composer-image-picker,
  .project-doc-inline-library-grid {
    grid-template-columns: repeat(auto-fill, minmax(7rem, 1fr));
  }

  .project-doc-slash-menu {
    right: 0.75rem;
    bottom: calc(0.75rem + env(safe-area-inset-bottom, 0px));
    left: 0.75rem !important;
    top: auto !important;
    width: auto;
    max-height: min(68dvh, 32rem);
    overflow: auto;
    border-radius: 14px;
    padding: 0.55rem;
    box-shadow: 0 0.85rem 2.2rem rgba(24, 23, 21, 0.15);
  }

  .project-doc-slash-option {
    grid-template-columns: 2.5rem minmax(0, 1fr);
    gap: 0.65rem;
    min-height: 3.1rem;
    padding: 0.45rem 0.5rem;
  }

  .project-doc-slash-icon {
    width: 2.5rem;
    height: 2.5rem;
  }

  .profile-image-picker-current,
  .profile-image-dialog-body {
    grid-template-columns: 1fr;
  }

  .profile-image-dialog {
    width: calc(100vw - 1rem);
    max-height: calc(100dvh - 1rem);
  }

  .profile-image-dialog-body {
    max-height: calc(100dvh - 5.75rem);
    padding: 0.75rem;
  }

  .profile-image-crop-panel {
    order: -1;
    justify-items: stretch;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--line);
  }

  .profile-image-crop-preview {
    justify-self: center;
    width: min(16rem, 72vw);
  }

  .profile-image-crop-tools,
  .profile-image-dialog-actions {
    width: 100%;
    justify-content: stretch;
  }

  .profile-image-crop-tools .button,
  .profile-image-dialog-actions .button {
    flex: 1 1 5.5rem;
  }

  .profile-header {
    width: min(100% - 1rem, 100%);
    margin-top: 1.5rem;
    grid-template-columns: minmax(5.75rem, 7.75rem) minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
    padding-bottom: 1.25rem;
  }

  .profile-header:not(:has(.profile-header-media)) {
    grid-template-columns: minmax(0, 1fr);
  }

  .profile-header-media {
    grid-column: 1;
  }

  .profile-header-main {
    grid-column: 2;
  }

  .profile-header:not(:has(.profile-header-media)) .profile-header-main {
    grid-column: 1;
  }

  .profile-image {
    width: 100%;
  }

  .profile-side {
    grid-column: 1 / -1;
    justify-items: stretch;
    padding: 0.75rem 0 0;
    border-top: 1px solid var(--line);
    border-left: 0;
  }

  .profile-body,
  .profile-layout-grid,
  .profile-layout-preset-actions {
    grid-template-columns: 1fr;
  }

  .profile-grid-section > .masonry,
  .profile-grid-section > .project-list,
  .profile-curated-grid--layout-masonry,
  .profile-grid-block--span-2 > .profile-curated-grid--layout-masonry {
    column-count: 2;
  }

  .work-navigation {
    align-items: stretch;
    grid-template-columns: 1fr;
    gap: 0.45rem;
    margin-top: 0.75rem;
    padding-block: 0.5rem;
  }

  .work-navigation-link--next {
    grid-column: 1;
    justify-self: stretch;
    justify-items: start;
    text-align: left;
  }

  .work-navigation-link--previous {
    justify-self: stretch;
  }

  .work-navigation--only-next .work-navigation-link,
  .work-navigation--only-previous .work-navigation-link {
    grid-column: 1;
    width: 100%;
  }

  .project-companion-card {
    grid-template-columns: 4.6rem minmax(0, 1fr);
    min-height: 4.6rem;
  }

  .project-companion-cover {
    min-height: 4.6rem;
    border-right: 1px solid var(--line);
    border-bottom: 0;
  }

  .project-companion-cover img {
    min-height: 4.6rem;
  }

  .project-companion-body {
    gap: 0.5rem;
    padding: 0.55rem 0.55rem 0.55rem 0.65rem;
  }

  .project-companion-control.button.small {
    width: 1.85rem;
    min-width: 1.85rem;
    min-height: 1.85rem;
  }

  .profile-block-type-options,
  .profile-layout-style-options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .profile-grid-block--span-2,
  .profile-layout-block--span-2 {
    grid-column: auto;
    aspect-ratio: auto;
  }

  .profile-layout-block-actions {
    align-items: flex-start;
  }

  .profile-grid-settings-row {
    grid-template-columns: 1fr;
  }

  .profile-grid-settings-actions {
    justify-content: flex-start;
  }

  .feed-filter-menu {
    width: 100%;
  }

  .feed-filter-summary {
    width: 2.5rem;
  }

  .feed-filter-panel {
    position: static;
    max-width: none;
    margin-top: 0.35rem;
    box-shadow: none;
  }
}

@media (max-width: 780px), (hover: none), (pointer: coarse) {
  .project-doc-node-image.project-doc-media-node-has-images:hover:not(.is-active-target):not(.ProseMirror-selectednode):not(:focus):not(:focus-within) .project-doc-media-head,
  .project-doc-node-canvas.project-doc-media-node-has-images:hover:not(.is-active-target):not(.ProseMirror-selectednode):not(:focus):not(:focus-within) .project-doc-media-head {
    opacity: 0 !important;
    pointer-events: none !important;
    visibility: hidden !important;
  }
}

@media (max-width: 560px) {
  .preview-grid {
    column-count: 1;
  }

  .collection-detail-grid {
    column-count: 1;
  }

  .profile-grid-section > .profile-curated-grid:not(.profile-curated-grid--layout-masonry):not(.profile-curated-grid--layout-feature-carousel):not(.profile-curated-grid--layout-vertical-list) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .profile-layout-preview {
    grid-template-columns: 1fr;
  }

  .profile-curated-grid--layout-masonry,
  .profile-grid-block--span-2 > .profile-curated-grid--layout-masonry {
    column-count: 2;
  }

  .profile-curated-grid--layout-feature-carousel,
  .profile-grid-block--span-2 > .profile-curated-grid--layout-feature-carousel {
    grid-auto-columns: minmax(82%, 1fr);
  }

  .profile-curated-grid--layout-vertical-list .work-tile,
  .profile-curated-grid--layout-vertical-list .project-card {
    grid-template-columns: 1fr;
  }

  .profile-curated-grid--layout-vertical-list .work-tile span:not(.profile-work-type),
  .profile-curated-grid--layout-vertical-list .profile-work-tile-title {
    grid-column: auto;
  }

  .profile-curated-grid--mixed .profile-curated-item {
    grid-column: auto;
    grid-row: auto;
  }
}

@media (hover: none), (pointer: coarse), (max-width: 560px) {
  .profile-grid-section .profile-work-card .profile-work-type {
    opacity: 0;
    transform: translateY(-0.2rem);
  }

  .profile-grid-section .profile-work-card:focus-visible .profile-work-type {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 360px) {
  .owner-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .profile-create-menu {
    grid-column: span 2;
  }

  .profile-grid-section > .masonry,
  .profile-grid-section > .project-list,
  .profile-curated-grid--layout-masonry,
  .profile-grid-block--span-2 > .profile-curated-grid--layout-masonry {
    column-count: 1;
  }

  .profile-grid-section > .profile-curated-grid:not(.profile-curated-grid--layout-masonry):not(.profile-curated-grid--layout-feature-carousel):not(.profile-curated-grid--layout-vertical-list) {
    grid-template-columns: 1fr;
  }
}
