/* Copyright (c) 2026. All rights reserved. See LICENSE.
   The room library (library.js), in the studio's window: the page defines the colour tokens. */
.lib { display: grid; grid-template-columns: minmax(220px, 300px) minmax(0, 1fr); align-items: start; border-top: 1px solid var(--rule-strong); }
.lib-list { padding: 14px 16px 40px 20px; border-right: 1px solid var(--rule); }
.lib-list h3 { margin: 10px 0 2px; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ink); }
.lib-list > .note { margin: 0 0 8px; font-size: 12.5px; color: var(--lead); }
.lib-items, .lib-items ul { list-style: none; margin: 0; padding: 0; }
.lib-items > li { display: flex; align-items: flex-start; gap: 6px; }
.lib-items .lib-group { display: block; margin: 8px 0 2px; }
.lib-group > .cap { display: block; padding: 0 0 2px 2px; font-size: 12px; color: var(--lead); }
.lib-use { flex: none; width: 22px; padding-top: 7px; text-align: center; color: var(--ink); font-size: 10px; }
.lib-use input { margin: 0; accent-color: var(--graphite); }
.lib-item {
  flex: 1; display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; width: 100%; padding: 5px 8px; border: 0; border-left: 3px solid transparent;
  background: none; text-align: left; cursor: pointer; font-size: 14px; color: var(--graphite);
}
.lib-item b { font-weight: 600; }
.lib-item span { flex-basis: 100%; font-size: 12px; color: var(--lead); }
.lib-item:hover { background: var(--film); }
.lib-item[aria-current="true"] { background: #e6f0f4; border-left-color: var(--ink); }
.lib-badge { font-style: normal; font-size: 11px; color: var(--ink); }
.lib-add { margin: 8px 0 4px; }
.lib-ed { padding: 16px 24px 40px; max-width: 760px; }
.lib-ed-head h3 { margin: 0; font-size: 24px; font-weight: 700; font-stretch: 75%; }
.lib-ed-head .note, .lib-ed > .note { margin: 2px 0 10px; color: var(--lead); font-size: 13px; }
.lib-ed h4 { margin: 18px 0 4px; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ink); }
.lib-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px 14px; }
.lib-sizes { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
.lib-field { display: flex; flex-direction: column; gap: 3px; margin-bottom: 8px; }
.lib-field .cap { font-size: 12px; color: var(--lead); }
.lib-field input, .lib-field select { padding: 6px 8px; border: 1px solid var(--rule-strong); border-radius: 3px; background: var(--paper); font-size: 15px; }
.lib-field input::placeholder { color: #9aa1a6; }
.lib-field input:focus, .lib-field select:focus { outline: none; border-color: var(--blue); background: #eef5f8; }
.lib-field small { font-size: 12px; color: var(--lead); line-height: 1.35; }
.lib-rooms { border-collapse: collapse; margin: 4px 0 8px; min-width: 320px; }
.lib-rooms th, .lib-rooms td { padding: 5px 12px 5px 0; border-bottom: 1px solid var(--rule); text-align: left; font-size: 14px; }
.lib-rooms th { font-size: 12px; font-weight: 600; color: var(--lead); }
.lib-rooms select { padding: 3px 6px; border: 1px solid var(--rule-strong); border-radius: 3px; background: var(--paper); }
.lib-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-top: 14px; }
