.collection-icon { font-size:1.5rem; line-height:1; }
.collection-label { display:none; }
.save-game span, .library-save span { font:1.65rem/1 'Segoe UI Symbol','Apple Symbols',sans-serif; }
.save-game[aria-pressed="true"] { color:var(--accent); border-color:var(--accent); background:var(--panel); }
.save-feedback { position:absolute; z-index:5; max-width:calc(100% - 40px); margin:0; padding:12px 16px; border:1px solid var(--line); border-radius:8px; color:var(--text); background:var(--panel); font-size:.85rem; line-height:1.5; pointer-events:none; }
.save-feedback:empty { display:none; }
dialog.library-dialog { width:min(1180px,calc(var(--stage-width) - 24px)); height:min(760px,calc(var(--stage-height) - 24px)); max-height:none; padding:14px; overflow:clip; container:library / size; }
body.is-portrait dialog.library-dialog { width:min(1180px,calc(var(--stage-width) - 24px)); max-height:none; }
.library-dialog[open] { display:grid; grid-template-columns:152px minmax(0,1fr); grid-template-rows:auto minmax(0,1fr) auto; gap:12px 16px; }
.library-dialog .dialog-top { grid-column:1/-1; margin:0; gap:16px; }
.library-dialog .dialog-top h2 { font-size:1.65rem; margin:0; }
.library-dialog .library-subtitle { display:none; margin:6px 0 0; color:var(--muted); }
.library-sidebar { min-width:0; min-height:0; overflow:auto; padding:4px; margin:-4px; scrollbar-width:thin; }
.library-tools { display:grid; gap:12px; min-width:0; }
.library-dialog .search-field { gap:8px; padding:0 10px; min-height:44px; min-width:0; border-radius:8px; }
.library-dialog .search-field input { min-width:0; min-height:44px; font-size:.8rem; }
.library-dialog .search-icon { display:none; }
.saved-filter { display:flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:8px; border:1px solid var(--line); border-radius:8px; color:var(--text); background:var(--raised); font-size:.85rem; }
.saved-filter[aria-pressed="true"] { color:var(--base); background:var(--accent); border-color:var(--accent); }
.library-filter-row { display:grid; gap:8px; min-width:0; margin-top:12px; }
.library-filter-row label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.library-filter-row select { min-width:0; min-height:44px; width:100%; border:1px solid var(--line); border-radius:8px; padding:8px; background:var(--base); color:var(--text); font-size:.8rem; }
.library-filter-row select:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
#library-count { color:var(--muted); font-size:.8rem; line-height:1.5; }
.library-results { display:grid; grid-template-columns:minmax(0,1fr); align-content:start; gap:10px; min-width:0; min-height:0; overflow:auto; overscroll-behavior:contain; padding:5px; margin:-5px; scroll-padding:5px; scrollbar-width:thin; scrollbar-color:var(--line) var(--panel); container:results / inline-size; }
body.is-portrait .library-results { touch-action:none; }
.library-card { display:grid; grid-template-columns:minmax(0,1fr) 44px; align-items:center; gap:4px; min-width:0; padding:8px; border:1px solid #ffffff26; border-radius:12px; background:var(--raised); }
.library-card:has(.library-select[aria-pressed="true"]) { border-color:var(--accent); background:#19353e; }
.library-select { display:flex; align-items:center; gap:12px; min-width:0; min-height:64px; text-align:left; padding:0; color:var(--text); background:none; border-radius:4px; }
.library-select .cover { width:56px; flex-shrink:0; border-radius:8px; box-shadow:none; }
.library-select .cover-name { display:none; }
.library-select .cover-letters { font-size:1.3rem; }
.library-select[aria-pressed="true"] .cover { box-shadow:0 0 0 2px var(--accent); }
.library-copy { min-width:0; }
.library-copy strong { display:block; font-size:.85rem; line-height:1.35; overflow-wrap:anywhere; }
.library-copy small { display:block; color:var(--muted); font-size:.72rem; line-height:1.45; margin-top:5px; }
.library-save { display:grid; place-items:center; width:44px; height:44px; background:none; border-radius:8px; color:var(--text); }
.library-save:hover, .library-select:hover { background:#294852; }
.library-save[aria-pressed="true"] { color:var(--accent); }
.library-empty { grid-column:1/-1; padding:16px 8px; }
.library-empty h3 { font-family:Lilita,sans-serif; font-weight:400; font-size:1.6rem; margin:0 0 10px; }
.library-empty p { margin:0 0 14px; }
.library-empty .primary-action { font-size:.85rem; }
.library-feedback { grid-column:1/-1; margin:0!important; color:var(--accent)!important; font-size:.8rem!important; line-height:1.4!important; }
.library-feedback:empty { display:none; }
@container stage (min-width:700px) { .collection-label { display:inline; } }
@container library (min-width:680px) {
  .library-results { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .library-select { min-height:72px; }
  .library-select .cover { width:64px; }
}
@container library (min-width:1000px) {
  .library-results { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@container library (max-width:600px) {
  .library-dialog .dialog-top h2 { font-size:1.45rem; }
  .library-select { gap:8px; }
  .library-copy small { display:none; }
}
@container library (min-height:600px) {
  .library-dialog .dialog-top h2 { font-size:2.25rem; }
  .library-dialog .library-subtitle { display:block; }
  .library-select { min-height:94px; }
  .library-select .cover { width:78px; }
  .library-copy strong { font-size:.95rem; }
  .library-copy small { font-size:.8rem; }
}
