.library-workspace-header { margin-bottom: 16px; }
.library-workspace-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.library-workspace-heading h1 { margin: 0 0 8px; font: bold var(--text-title)/1.2 var(--font-display); letter-spacing: -.03em; }
.library-workspace-heading h1 img { vertical-align: middle; }
.library-workspace-heading p { margin: 0; color: var(--muted); font-size: var(--text-base); line-height: 1.5; }
.library-workspace-actions { display: flex; gap: 10px; flex-shrink: 0; }
.library-workspace-header .button, .library-room-actions .button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.library-workspace-controls { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.library-workspace-views { display: flex; padding: 3px; border: 1px solid var(--line); border-radius: 8px; flex-shrink: 0; }
.library-workspace-views a { padding: 10px 13px; font-size: var(--text-small); border-radius: 5px; }
.library-workspace-views [aria-current] { background: var(--sage); color: var(--green); }
.library-workspace-search { display: grid; grid-template-columns: minmax(0,1fr) auto; grid-template-areas:"query action"; gap: 8px; margin: 14px 0 0; }
.library-workspace-search .library-search-field { grid-area:query; }
.library-workspace-search .library-state-field { grid-area:state; }
.library-workspace-search > button { grid-area:action; min-height:44px; }
.library-workspace-search.library-status-filter { display:grid; grid-template-columns:minmax(0,1fr) minmax(140px,190px) auto; grid-template-areas:"query state action"; margin:14px 0 0; }
.library-workspace-search label { margin: 0; min-width: 0; }
.library-workspace-search input, .library-workspace-search select { width: 100%; height: 44px; min-width: 0; padding: 10px 12px; margin: 0; font-size: var(--text-base); }
.library-workspace-summary { margin: 16px 0 24px; }
.library-workspace-summary summary { cursor: pointer; color: var(--green); font-size: var(--text-small); }
.library-filter-panel > summary { display:flex; align-items:center; gap:10px; min-height:44px; padding:8px 0; color:var(--green); font-size:var(--text-small); cursor:pointer; }
.library-filter-panel > summary::-webkit-details-marker { display:none; }
.library-filter-panel > summary span { margin-left:auto; padding:3px 8px; border-radius:8px; background:var(--sage); font-size:.75rem; }
.library-filter-panel > summary:focus-visible { outline:3px solid var(--green); outline-offset:2px; }
.library-filter-panel .library-workspace-controls { margin-top:4px; }
@media(min-width:701px) { .library-filter-panel > summary { display:none; } }
.library-room-actions { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 10px; }
.library-status-filter { gap:8px; font-size:var(--text-small); }
.library-status-filter label { margin: 0; }
.library-status-filter select { width:100%; margin:0; }
.library-status-filter > a { margin-left: auto; }
.library-room.library-workspace [data-library-room-target=scene] { margin-inline: 0; }
.library-workspace-controls { margin-top:16px; }
.library-view-hint { margin:0; color:var(--muted); font-size:var(--text-small); }
@media (max-width: 1100px) { .library-workspace-heading { align-items: flex-start; flex-direction: column; gap: 16px; } .library-workspace-controls { flex-wrap: wrap; } }
@media (max-width: 650px) { .library-workspace-heading h1 { font-size: var(--text-title); } .library-workspace-actions { flex-wrap: wrap; } .library-workspace-search.library-status-filter { grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"query action" "state state"; } }

.library-room-tools { margin:16px 0; padding:12px 0; border-top:1px solid var(--line); }
.library-room-tools > summary, .library-display-options > summary { cursor:pointer; color:var(--green); min-height:44px; display:flex; align-items:center; gap:8px; font-size:var(--text-small); }
.library-room-tools > summary::before, .library-display-options > summary::before { content:'+'; font-size:var(--text-base); }
.library-room-tools[open] > summary::before, .library-display-options[open] > summary::before { content:'−'; }
.library-room-tools > summary::-webkit-details-marker, .library-display-options > summary::-webkit-details-marker { display:none; }
.library-display-options { margin:0 0 12px; }
.library-display-options[open] { padding-bottom:12px; border-bottom:1px solid var(--line); }
.library-room-tools[open] .library-room-actions { margin-top:8px; }
.library-resume { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 16px; padding:12px 16px; background:var(--sage); border-radius:12px; }
.library-resume > div { min-width:0; }
.library-resume strong { display:block; font-size:var(--text-base); overflow-wrap:anywhere; }
.library-resume span { color:var(--muted); font-size:var(--text-small); }
.library-resume .button { display:inline-flex; gap:8px; flex-shrink:0; }
.current-reading-actions { display:flex; align-items:center; gap:12px; }
.current-reading-actions .quiet-link { min-height:44px; display:inline-flex; align-items:center; }
.library-room-actions .library-decorate-button { background: var(--green); color:var(--green-ink); border-color: var(--green); box-shadow: none; }
.library-guide-button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; flex-shrink: 0; min-height: 44px; padding: 10px 14px; border: 1px solid var(--line); border-radius: 8px; color: var(--green); font-size: var(--text-base); font-weight: 700; background: var(--sage); }
.library-guide-button span { font-size: var(--text-base); font-weight: 400; padding-left: 8px; border-left: 1px solid var(--line); }
.library-guide-button:hover { border-color: var(--green); }
.library-room-tools :focus-visible { outline: 3px solid var(--green); outline-offset: 3px; }
@media(max-width: 760px) {
    .library-room-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
    .library-guide-button { align-self: flex-start; }
    .library-workspace-controls { gap: 12px; }
    .library-workspace-search { grid-template-columns: minmax(0,1fr) auto; }
}

.library-classification { display:flex; align-items:center; gap:4px; margin:12px 0 0; padding-bottom:4px; overflow-x:auto; scrollbar-width:thin; }
.library-classification > a { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; min-height:44px; padding:8px 10px; border-radius:8px; color:var(--muted); font-size:var(--text-small); white-space:nowrap; }
.library-classification > [aria-current] { background:var(--sage); color:var(--green); font-weight:700; }
.library-classification > a:focus-visible, .library-workspace-views > a:focus-visible { outline:3px solid var(--green); outline-offset:-3px; }
@media(max-width:650px) { .library-classification > a { padding-inline:7px; font-size:.8125rem; } }

.library-room-empty { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px 20px; margin:0 0 16px; background:var(--sage); border:1px solid var(--line); border-radius:12px; }
.library-room-empty > div { min-width:0; }
.library-room-empty h2 { margin:0 0 6px; font-size:var(--text-card); }
.library-room-empty p { margin:0; color:var(--muted); font-size:var(--text-base); }
.library-room-empty .button { flex-shrink:0; display:inline-flex; align-items:center; justify-content:center; }
@media(max-width:760px) { .library-room-empty { align-items:flex-start; flex-direction:column; gap:12px; } .library-room-empty .button { white-space:normal; } }
