.wbs-fill-studio [hidden] { display: none !important; }
.wbs-fill-studio .wbs-diff-hero { overflow: visible; }
.wbs-fill-studio .wbs-diff-cover, .wbs-fill-studio .wbs-diff-photo::after { border-radius: inherit; }
.wbs-fill-studio .wbs-diff-hero-copy { padding-right: 5rem; }
.wbs-fill-studio .wbs-diff-settings > p { margin: 0; }
.wbs-fill-menu, .wbs-fill-ux-picker, [data-fill-filter] { display: grid; gap: .65rem; }
.wbs-fill-coordinates { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .5rem; }
.wbs-fill-studio .wbs-fill-input, .wbs-fill-studio code { font-family: Consolas,"Courier New",monospace; }
.wbs-fill-studio .wbs-diff-command { white-space: pre-wrap; }
.wbs-fill-studio .wbs-diff-field select { min-width: 0; }
.wbs-fill-studio .wbs-fill-options input:disabled + span { opacity: .5; cursor: default; }
.wbs-fill-studio .fill-picker-button { margin: 0; }
.wbs-fill-studio :is(.wbs-fill-hint,.wbs-fill-ux-tip,.wbs-fill-warning) { margin: .35rem 0; font-size: .9rem; }
.fill-model canvas { width: 100%; height: 15rem; display: block; background: #0d192c; border: 1px solid #7182aa66; border-radius: .75rem; touch-action: none; }
.fill-cutaway { display: block; margin-top: .65rem; }
.fill-model p { margin: .6rem 0 0; }
.fill-model p:empty { display: none; }
@media (max-width: 720px) {
  .wbs-difficulty-pilot.wbs-fill-studio .wbs-diff-photo { padding-bottom: 65px; }
  .wbs-fill-studio .wbs-diff-hero-copy { padding-right: 0; }
  .wbs-fill-studio .wbs-diff-cover { object-position: 72% center; }
}

.wbs-fill-studio #texture-catalog {
  box-sizing: border-box;
  width: min(66rem, calc(100% - 1.5rem));
  max-height: min(80dvh, 48rem);
  margin: auto;
  padding: clamp(.85rem, 2vw, 1.4rem);
  overflow: hidden;
  color: #f2efff;
  background: linear-gradient(135deg, #222244, #10172e 72%);
  border: 1px solid #b5c8ef77;
  border-radius: 1.15rem;
  box-shadow: inset 0 1px #e0d0ff42, 0 20px 70px #05091acc;
}
.wbs-fill-studio #texture-catalog[open] { display: flex; flex-direction: column; gap: .6rem; }
.wbs-fill-studio #texture-catalog::backdrop { background: #06091cc2; backdrop-filter: blur(5px); }
.wbs-fill-studio #texture-catalog .bs-section-head { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.wbs-fill-studio #texture-catalog :is(h2,p) { margin: 0; }
.wbs-fill-studio #texture-catalog :is(.bs-help,output) { color: #c9c8e6; font-size: .85rem; }
.wbs-fill-studio #texture-catalog #texture-search {
  box-sizing: border-box; width: 100%; min-height: 42px; margin: 0; padding: .55rem .75rem;
  font: inherit; color: inherit; background: #121b32; border: 1px solid #b5c8ef77; border-radius: .7rem;
}
.wbs-fill-studio #texture-catalog-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(min(9rem,100%), 1fr));
  gap: .5rem; overflow: auto; overscroll-behavior: contain; min-height: 0; padding: .2rem .45rem .35rem .2rem;
  scrollbar-width: thin; scrollbar-color: #9785cb #131b31;
}
.wbs-fill-studio #texture-catalog :is(.bs-texture-tile,.bs-button) {
  font: inherit; color: inherit; cursor: pointer; border: 1px solid #b5c8ef66; border-radius: .7rem;
  background: #242a46; transition: background .15s, border-color .15s;
}
.wbs-fill-studio #texture-catalog .bs-texture-tile { display: grid; justify-items: center; align-content: start; gap: .4rem; padding: .65rem .4rem; min-width: 0; overflow-wrap: anywhere; }
.wbs-fill-studio #texture-catalog .bs-texture-tile small { font: .72rem/1.25 Consolas,monospace; color: #c2c9e5; }
.wbs-fill-studio #texture-catalog .bs-texture-tile canvas { width: 36px; height: 36px; image-rendering: pixelated; }
.wbs-fill-studio #texture-catalog .bs-button { min-height: 38px; padding: .35rem .7rem; }
.wbs-fill-studio #texture-catalog .bs-button svg { display: block; width: 18px; height: 18px; }
.wbs-fill-studio #texture-catalog :is(.bs-texture-tile,.bs-button):hover:not(:disabled) { background: #37305a; border-color: #d1b5ff; }
.wbs-fill-studio #texture-catalog :is(button,input):focus-visible { outline: 2px solid #a5e7ff; outline-offset: 2px; }
.wbs-fill-studio #texture-catalog .bs-button:disabled { opacity: .45; cursor: default; }
.wbs-fill-studio #texture-catalog .bs-build-controls { display: flex; justify-content: flex-end; gap: .5rem; margin: 0; padding-top: .45rem; border-top: 1px solid #b5c8ef44; }
@media(max-width: 480px) {
  .wbs-fill-studio #texture-catalog { max-height: 90dvh; }
  .wbs-fill-studio #texture-catalog-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .wbs-fill-studio #texture-catalog .bs-build-controls > button { flex: 1; }
}
