/* Line 24184: the existing library, dressed with the Studio's Google-path tokens. */
.ns-stage-body .library {margin: 24px 0;}
.ns-stage-body .library h2 {font-size: 20px; font-weight: 500; letter-spacing: -.02em;}
.ns-stage-body .library-tools {gap: 12px; margin: 16px 0;}
.ns-stage-body .library-search input {border: 1px solid var(--ns-border-strong); border-radius: var(--ns-radius); background: var(--ns-surface); color: var(--ns-text); min-height: 44px; padding: 10px 12px; font: inherit;}
.ns-stage-body .library-chips button {min-height: 44px;}
.library-human-filter {display: flex; align-items: center; gap: 8px; min-height: 44px; font-size: 14px; color: var(--ns-text-2); cursor: pointer;}
.library-human-filter input {width: 20px; height: 20px; accent-color: var(--ns-focus);}
.ns-stage-body .library-grid {gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr));}
.ns-stage-body .mc-card {gap: 8px;}
.ns-stage-body .mc-card-pick {overflow: hidden; padding: 0 0 16px; gap: 10px; border-color: var(--ns-border); border-radius: 16px; background: var(--ns-surface); transition: border-color 90ms, box-shadow 90ms;}
.ns-stage-body .mc-card-pick > :not(img) {margin-inline: 12px;}
.ns-stage-body .mc-card-pick .mc-still {width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; border-radius: 0; background: var(--ns-bg);}
.ns-stage-body .mc-card-name {font-size: 16px; font-weight: 500; line-height: 1.35;}
.ns-stage-body .mc-card-facts {font-size: 12px;}
.ns-stage-body .mc-card-facts .mc-badge {display: none;}
.mc-presentation {display: grid; gap: 8px; font-size: 12px; line-height: 1.4; color: var(--ns-text-2);}
.mc-human {font-size: 12px;}
.mc-tiers {display: flex; flex-wrap: wrap; gap: 4px;}
.mc-tier {border-radius: 6px; padding: 3px 6px; border: 1px solid var(--ns-border); font-size: 11px; white-space: nowrap;}
.mc-tier[data-available="true"] {color: var(--ns-text); background: var(--ns-bg);}
.mc-next {display: flex; align-items: center; justify-content: space-between; min-height: 44px; color: var(--ns-focus); font-size: 14px; font-weight: 500;}
.mc-next::after {content: '↗'; font-size: 20px;}
.ns-stage-body .mc-card-pick:hover {border-color: var(--ns-focus);}
.ns-stage-body :is(.mc-card-pick, .library-load, .library-human-filter input):focus-visible {outline: 3px solid var(--ns-focus); outline-offset: 3px;}
.ns-stage-body .mc-card--not-ready .mc-card-pick {opacity: 1;}
.ns-stage-body .mc-card--not-ready img {filter: none;}
/* The chosen card keeps its existing advanced looks and links; discovery has one next step. */
.mc-card:not([data-expanded="true"]) > :is(.mc-2d-row, .mc-card-links, .mc-compare) {display: none;}
.ns-stage-body .mc-card-why {line-height: 1.5;}
.ns-stage-body .mc-2d-chip, .ns-stage-body .mc-card-links a {min-height: 44px; display: inline-flex; align-items: center;}
/* The Studio picker keeps its containing bay, controls and selection handler. */
.library .mc-studio-card {align-items: center; grid-template-columns: 80px minmax(0, 1fr) auto;}
.mc-studio-card .mc-still {width: 80px; height: 96px; object-fit: contain; border-radius: var(--ns-radius); background: var(--ns-bg);}
.mc-studio-card .library-load {min-height: 44px;}
.mc-studio-card .library-text {min-width: 0;}
.mc-studio-card .library-text > .foot {display: none;}
#library-list:not([data-show-human="true"]) > [data-human="true"] {display: none;}
.mc-studio-list > .library-group {display: none;}
@media (min-width: 1200px) {.ns-stage-body .library-grid {grid-template-columns: repeat(3, minmax(0, 1fr));}}
@media (max-width: 599px) {
  .ns-my-characters .viewer {height: 30vh; height: 30dvh; min-height: 180px;}
  .ns-my-characters .controls {padding: 16px 16px 40px;}
  .ns-stage-body .library-grid {gap: 12px;}
  .ns-stage-body .mc-card-pick > :not(img) {margin-inline: 10px;}
  .library .mc-studio-card {grid-template-columns: 64px minmax(0, 1fr);}
  .mc-studio-card .mc-still {width: 64px; height: 80px;}
  .mc-studio-card .library-load {grid-column: 2; justify-self: start;}
}
@media (prefers-reduced-motion: reduce) {.ns-stage-body .mc-card-pick {transition: none;}}
