.build-library-controls {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .45rem;
  margin-block: .8rem;
}
.build-library-controls[hidden], .build-library [hidden] { display: none !important; }
.build-library-controls button { min-height: 44px; padding: .5rem .6rem; font-size: .78rem; }
.build-library-controls button:disabled { opacity: .5; cursor: not-allowed; }
.build-history-status { flex-basis: 100%; margin: 0; font-size: .8rem; color: var(--muted, #aebed1); }
.build-history-status:empty { display: none; }
.build-library {
  width: min(38rem, calc(100vw - 2rem));
  max-width: calc(100vw - 2rem);
  max-height: calc(100dvh - 2rem);
  overflow: auto;
  box-sizing: border-box;
  padding: 1.2rem;
  border: 1px solid var(--border, #40546d);
  border-radius: .85rem;
  background: var(--surface, #102033);
  color: var(--text, #eef4fc);
  box-shadow: 0 1rem 4rem #0007;
}
.build-library::backdrop { background: #020b16bb; }
.build-library-heading { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.build-library-heading h2 { margin: 0; font-size: 1.25rem; }
.build-library-heading button { flex-shrink: 0; }
.build-library label { display: block; font-weight: 650; margin-block: .8rem .3rem; }
.build-library input, .build-library select { width: 100%; box-sizing: border-box; }
.build-library input { min-height: 2.7rem; }
.build-library select { padding: .35rem; }
.build-library option { padding: .4rem; white-space: normal; overflow-wrap: anywhere; }
.build-library p { line-height: 1.5; overflow-wrap: anywhere; }
.build-library .small { font-size: .85rem; }
.build-library-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-block: .8rem; }
.build-library button { min-height: 44px; }
.build-library button:disabled { opacity: .5; cursor: not-allowed; }
.build-library-delete { padding: .75rem; border: 1px solid #d3a45e; border-radius: .5rem; margin-block: .6rem; }
.build-library-delete p { margin-top: 0; }
.build-library-delete button + button { margin-left: .5rem; }
#build-library-navigation a { display: inline-block; padding-block: .6rem; overflow-wrap: anywhere; }
#build-library-status { margin-bottom: 0; font-size: .85rem; }
#build-library-status.error { color: var(--error, #ffb4b4); }
.build-library :focus-visible { outline: 2px solid var(--accent, #75e1f7); outline-offset: 3px; }
.build-library-account-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; margin-block: .6rem; }
.build-library-account-actions a { padding-block: .5rem; }
.account-panel { max-width: 38rem; margin-inline: auto; }
.account-panel form { display: grid; gap: .65rem; margin-block: 1rem 2rem; }
.account-panel label { font-weight: 650; }
.account-panel input { width: 100%; min-height: 2.75rem; box-sizing: border-box; }
.account-panel button { min-height: 2.75rem; justify-self: start; }
.account-panel p { overflow-wrap: anywhere; }
@media (max-width: 700px) {
  .build-library-controls { display:grid; grid-template-columns:1fr 1.2fr .7fr .7fr; gap:.3rem; margin-block:.5rem; }
  .build-library-controls button { min-width:0; padding:.4rem .25rem; font-size:.72rem; }
  .build-history-status { grid-column:1/-1; }
  .build-library { width:100%; max-width:100%; margin:0; padding:1rem; border-radius:.85rem .85rem 0 0; }
  .build-library input,.build-library select { font-size:16px; min-height:44px; }
  .build-library-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .build-library-actions button { min-width:0; padding:.55rem .35rem; font-size:.8rem; }
  .build-library-account-actions a,#build-library-navigation a { min-height:44px; display:inline-flex; align-items:center; }
  .build-library-delete button { margin:.25rem .25rem .25rem 0; }
  .build-library-delete button + button { margin-left:0; }
}
@media(max-width:700px),(max-height:500px) and (pointer:coarse) {
  .build-library { bottom:var(--viewport-bottom,0px); max-height:calc(var(--viewport-height,100dvh) - max(.5rem,env(safe-area-inset-top))); padding-bottom:max(1rem,env(safe-area-inset-bottom)); scroll-padding-top:5rem; }
  .build-library-heading { position:sticky; top:-1rem; z-index:3; margin:-1rem -1rem .65rem; padding:.65rem max(1rem,env(safe-area-inset-right)) .65rem max(1rem,env(safe-area-inset-left)); background:var(--surface); border-bottom:1px solid var(--border); }
}
