/* Library and review: stable alignment, progressive disclosure by pane width. */
.library-list{scrollbar-width:thin;scrollbar-color:#b8c7d9 transparent;padding:8px 7px;scroll-padding-top:12px;overscroll-behavior:contain}
.library-list[data-review-scroll="true"]::after{content:"";display:block;height:var(--review-scroll-tail,0px);pointer-events:none}
.library-panel .recording-row{padding:10px 9px;margin:2px 0;border-radius:8px}
.library-panel .recording-main{gap:7px;min-height:18px}
.library-panel .recording-time{font-size:12px;font-weight:650;color:#344c69}
.library-panel .recording-meta{gap:5px;margin-top:6px;font-size:10px;grid-template-columns:66px 66px 70px minmax(0,1fr)}
.library-panel .meta-chip{min-width:0;gap:4px}
.library-panel .meta-chip svg,.library-panel .recording-chevron svg,.library-panel .recording-reviewed-icon svg{fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.library-panel .meta-chip>span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.library-panel .recording-bookmarks{margin-left:20px;padding-left:5px;border-left-color:#e7edf5}
.library-panel .bookmark-row{padding:9px 8px;gap:10px;border-radius:8px;min-height:76px}
.library-panel .bookmark-row.selected{background:#edf4ff;box-shadow:inset 0 0 0 1px #bdd2f2}
.library-panel .bookmark-row.selected::before{background:#3576d6;width:3px;border-radius:2px}
.library-panel .bookmark-address{font-size:12px;font-weight:600;color:#344d6d;line-height:1.4}
.library-panel .bookmark-subtitle{font-size:10px;color:#70829b;margin-top:3px;gap:3px;line-height:1.4}
.library-panel .bookmark-status-row{display:grid;grid-template-columns:96px minmax(0,1fr) 33px;column-gap:5px;margin-top:5px;min-height:18px;font-size:10px;align-items:center}
.library-panel .bookmark-status-row>.status-badge{justify-self:start;max-width:96px;padding:2px 5px;font-size:9px;line-height:1.35;border-radius:4px}
.library-panel .bookmark-status-row>span:nth-child(2){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.library-panel .bookmark-rating{font-size:10px;font-variant-numeric:tabular-nums;justify-self:end;margin-left:0;color:#607897}
.library-panel .status-badge.ready{background:#eaf6ef;color:#286c4d}
.library-panel .status-badge.tentative,.library-panel .status-badge.unsure{background:#f1ebfa;color:#735098}
.library-panel .status-badge.identify{background:#fff4e4;color:#916117}
.library-panel .recording-tags{gap:4px;margin-top:6px}
.library-panel .recording-tags span{font-size:9px;line-height:1.4;padding:1px 4px}
@container library (max-width:315px){
 .library-panel .recording-meta{grid-template-columns:54px 51px 54px minmax(0,1fr);gap:3px;font-size:9px}
 .library-panel .bookmark-row{gap:8px;padding:8px 6px}
 .library-panel .bookmark-thumb{width:62px;height:46px;flex:0 0 62px}
 .library-panel .bookmark-status-row{grid-template-columns:86px minmax(0,1fr) 28px;column-gap:3px}
 .library-panel .bookmark-status-row>.status-badge{max-width:86px;font-size:8px;padding:2px 4px}
 .library-panel .bookmark-rating{font-size:9px}
 .library-panel .bookmark-subtitle{font-size:9px}
}
@container library (min-width:420px){
 .library-panel .recording-meta{grid-template-columns:78px 75px 82px minmax(0,1fr);gap:7px}
 .library-panel .bookmark-status-row{grid-template-columns:105px minmax(0,1fr) 36px;column-gap:7px}
 .library-panel .bookmark-status-row>.status-badge{font-size:10px;max-width:105px}
 .library-panel .bookmark-thumb{width:90px;height:60px;flex:0 0 90px}
 .library-panel .bookmark-address{font-size:13px}
}
/* Review retains keyboard cues and preserves the photo height. */
.viewer-pane .review-controls{padding:6px 10px;background:#f9fbfe;min-height:0;border-bottom:1px solid #e4ebf5}
.viewer-pane .review-type-row{display:flex;align-items:center;justify-content:center;gap:5px}
.viewer-pane .review-rating-row{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:5px;min-width:0}
.viewer-pane .review-controls .section-caption{font-size:10px;color:#61758e;min-width:0;flex:0 0 auto;font-weight:500}
.viewer-pane .review-controls .type-buttons{display:flex;justify-content:center;flex-wrap:wrap;gap:4px}
.viewer-pane .review-controls .type-button{height:27px;min-height:27px;padding:4px 7px;gap:4px;font-size:11px;line-height:1.2;border-color:#dde6f3;border-radius:6px;color:#566d8b}
.viewer-pane .review-controls .type-button.selected{color:#205bb5;border-color:#a5c0e9;background:#eaf2ff}
.viewer-pane .review-controls .type-button.preview{box-shadow:0 0 0 2px #bad1f7;outline-offset:0}
.viewer-pane .review-controls .type-button:focus-visible{outline:2px solid #3a79d3;outline-offset:1px}
.viewer-pane .review-controls .type-button.pending{border-color:#75a0df;background:#f4f8ff}
.viewer-pane .review-controls .type-button kbd{display:inline-block;font-size:9px;line-height:1.2;padding:1px 3px;border:0;background:#eff3f8;color:#6b7e97}
.viewer-pane .review-controls .type-button.selected kbd{background:#dbe8fb;color:#376cad}
.viewer-pane .review-controls .rating-buttons{display:flex;gap:3px;flex:0 0 auto}
.viewer-pane .review-controls .rating-button{width:28px;min-width:28px;height:27px;font-size:12px;line-height:1;flex:0 0 28px;border-radius:6px}
.viewer-pane .review-controls .review-state{font-size:10px;line-height:1.4;max-width:156px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:0 1 auto;padding:3px 6px;border-radius:4px}
.viewer-pane .review-controls .review-state.ready{color:#286e4c;background:#eaf6ee}
.viewer-pane .review-controls .review-state.tentative{color:#72508f;background:#f1ebfa}
.viewer-pane .review-controls #review-done{height:28px;min-height:28px;padding:4px 9px;gap:5px;margin-left:1px;font-size:11px;border-radius:6px;flex:0 0 auto}
.viewer-pane .review-controls #review-done kbd{font-size:10px;padding:0 3px;line-height:1.3}
@container viewer (min-width:890px){
 .viewer-pane .review-controls{display:flex;justify-content:center;align-items:center;gap:12px}
 .viewer-pane .review-rating-row{margin-top:0}
}
@container viewer (max-width:550px){
 .viewer-pane .review-controls{display:block;padding:6px 8px}
 .viewer-pane .review-type-row{display:flex;flex-wrap:wrap;gap:4px}
 .viewer-pane .review-type-row>.section-caption{display:none}
 .viewer-pane .review-controls #review-types{display:contents}
 .viewer-pane .review-controls .type-button{justify-content:center;padding:4px 5px;font-size:10px}
 .viewer-pane .review-rating-row{display:flex;margin-top:5px;gap:4px}
 .viewer-pane .review-rating-row>.section-caption{font-size:9px;margin-right:2px}
 .viewer-pane .review-controls .rating-buttons{gap:3px}
 .viewer-pane .review-controls .rating-button{width:25px;min-width:25px;flex-basis:25px}
 .viewer-pane .review-controls .review-state{max-width:130px;padding:3px 4px;font-size:9px;grid-row:auto;grid-column:auto;justify-self:auto}
 .viewer-pane .review-controls #review-done{padding:4px 8px;font-size:10px}
}
@container viewer (max-width:360px){
 .viewer-pane .review-type-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
 .viewer-pane .review-controls .review-state{max-width:83px;font-size:8px;padding:3px}
 .viewer-pane .review-controls .rating-button{width:23px;min-width:23px;flex-basis:23px}
 .viewer-pane .review-rating-row>.section-caption{font-size:8px;margin-right:0}
 .viewer-pane .review-controls #review-done{padding:4px 6px;gap:3px;font-size:10px}
 .viewer-pane .review-controls #review-done kbd{display:none}
 .viewer-pane .review-controls .type-button{font-size:9px;gap:2px;padding:4px 3px}
}
/* Playback actions and GPS adjustment remain predictable during repeated clicks. */
.viewer-pane .playback-bar{padding:9px 12px 8px}
.viewer-pane .playback-actions{margin-top:8px;row-gap:4px}
.viewer-pane .gps-row{margin-top:7px;padding-top:6px}
.viewer-pane .seek-row{gap:9px;font-size:10px;font-variant-numeric:tabular-nums}
.viewer-pane .play-button{border-radius:8px}
.viewer-pane .gps-adjust{gap:3px}
.viewer-pane #gps-apply{min-width:112px;text-align:left;font-size:10px}
.viewer-pane #gps-apply:disabled{visibility:hidden;opacity:0}
@container viewer (max-width:420px){
 .viewer-pane .playback-bar{padding:8px 9px 7px}
 .viewer-pane #gps-apply{min-width:99px;font-size:9px;padding-left:2px;padding-right:2px}
}
@media(prefers-reduced-motion:reduce){.library-panel .bookmark-row,.library-panel .recording-row{transition:none}}
/* Exact catalog nouns and visible filter conditions. */
.library-heading #library-count{display:flex;flex-wrap:wrap;gap:2px 12px;white-space:normal;overflow:visible;line-height:1.45}
.catalog-review-position{color:#7a8ca5;font-size:10px}
.active-filter-summary{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0 0;max-height:68px;overflow:auto}
.active-filter-summary[hidden]{display:none}
.filter-chip{display:inline-flex;align-items:center;gap:7px;max-width:100%;min-height:24px;padding:3px 7px;border:1px solid #d9e5f4;border-radius:6px;background:#f1f6fd;color:#3b618c;font-size:10px;text-align:left;overflow-wrap:anywhere}
.filter-chip:hover,.filter-chip:focus-visible{border-color:#7ca4d3;background:#e7f0fb}
.filter-chip>span{margin-left:auto;color:#6384aa;font-size:14px;line-height:1}
.types-popover .unreviewed-filter{padding:6px 0 10px;border-bottom:1px solid #e6edf5;margin-bottom:12px}
#clear-all-filters{flex:0 0 auto;width:auto;min-height:24px;padding:3px 8px;color:#426f9d;font-size:10px;font-weight:600;border:1px solid #d9e5f4;border-radius:6px;background:#fff}
#clear-all-filters:hover,#clear-all-filters:focus-visible{background:#edf4fd;border-color:#7ca4d3}
.active-filter-chips{display:contents}

/* Automatic maximum reviews occupy the existing status slot, not another row. */
.library-panel .status-badge.inherited-maximum{white-space:nowrap}
.viewer-pane .review-controls .review-state.inherited-maximum{box-shadow:inset 0 0 0 1px #c8e4d3}
.review-origin-note{margin-top:7px;padding:7px 9px;border:1px solid #d4e7db;border-radius:6px;background:#f3f8f4;color:#416b52;font-size:11px;line-height:1.45}
.review-origin-note strong{display:block;font-weight:600;margin-bottom:2px}

/* Shared addresses follow the active bookmark, including the selected blue row. */
.library-panel .bookmark-address-line{display:flex;align-items:center;gap:5px;min-width:0}
.library-panel .bookmark-address-line .bookmark-address{flex:1 1 auto;min-width:0}
.library-panel .bookmark-address.shared-address-text{color:#964600;font-weight:650}
.library-panel .bookmark-row.selected .bookmark-address.shared-address-text{color:#8c4000}
.library-panel .same-address-badge{flex:0 0 auto;max-width:115px;padding:2px 5px;border:1px solid #ebc799;border-radius:4px;background:#fff3df;color:#854000;font-size:9px;line-height:1.35;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.library-panel .bookmark-row.selected .same-address-badge{background:#ffefd4;border-color:#dbb070;color:#783900}
@container library (max-width:310px){.library-panel .same-address-badge{font-size:8px;padding:2px 3px}}

/* A recheck marker stays separate from rating, tentative suggestions and completion. */
.distress-temporary-button{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:27px;padding:4px 7px;border:1px solid #d9e2ee;border-radius:6px;background:#fff;color:#60718a;font-size:11px;line-height:1.2;white-space:nowrap;flex:0 0 auto}
.distress-temporary-button:hover{background:#f6f9fd;border-color:#a7bbd4}
.distress-temporary-button.selected{background:#fff3df;border-color:#e1b974;color:#805000}
.distress-temporary-button:focus-visible{outline:2px solid #3a79d3;outline-offset:2px}
.distress-temporary-button kbd{font-size:9px;border:0;background:#eff3f8;padding:1px 3px;color:inherit}
.distress-temporary-button.selected kbd{background:#f7e4bd}
.distress-temporary-button:disabled{opacity:.45;cursor:default}
.temporary-label-short{display:none}
.identity-rating{flex-wrap:wrap;row-gap:7px}
.details-dialog .rating-buttons{align-items:center;flex-wrap:wrap;gap:6px}
@container viewer (max-width:550px){.viewer-pane .review-controls .distress-temporary-button{font-size:10px;padding:4px 5px}.viewer-pane .review-controls .review-state{min-width:0}}
@container viewer (max-width:420px){.viewer-pane .review-controls .compact-marker .temporary-label{display:none}.viewer-pane .review-controls .compact-marker .temporary-label-short{display:inline}.viewer-pane .review-controls .compact-marker{font-size:9px;padding:4px 4px;gap:3px}.viewer-pane .review-controls .review-rating-row{gap:3px}}
@container viewer (max-width:310px){.viewer-pane .review-controls .review-rating-row>.section-caption{display:none}.viewer-pane .review-controls .review-state{padding:0}}
