#page-library { min-height:100%; position:relative; padding-bottom:90px; }
.library-launch-dock { position:fixed; right:34px; bottom:26px; z-index:20; }
.library-launch-button { display:flex; align-items:center; gap:12px; background:var(--accent); color:white; border:1px solid var(--accent); border-radius:8px; padding:15px 29px; font:600 15px var(--font-family); cursor:pointer; box-shadow:0 5px 20px #0003; }
#page-library:not(.active) .library-launch-dock { display:none; }
.pd-footer:has(#pdLibraryActions) { padding:20px 24px; }
#pdLibraryActions { display:flex; justify-content:space-between; gap:20px; align-items:center; }
.la-secondary-actions,.la-primary-actions { display:flex; align-items:center; gap:10px; }
.la-secondary-actions { flex-wrap:wrap; gap:4px; }
.la-secondary-actions .la-button { border-color:transparent; background:transparent; font-size:12px; padding:10px 8px; gap:7px; }
.la-secondary-actions .la-button:hover:not(:disabled) { background:var(--sidebar-hover); }
.la-primary-actions { flex-shrink:0; gap:12px; }
.la-primary-actions .la-button { min-width:170px; height:54px; padding:12px 19px; justify-content:center; font-size:14px; font-weight:600; }
.la-primary-actions .la-download { background:var(--card-bg); border-color:var(--text-secondary); }
.pd-dev-entry { color:var(--text-secondary); font-size:11px; }
.launch-dialog { width:500px; }
.launch-options { display:grid; gap:10px; margin:20px 0; }
.launch-option { text-align:left; padding:14px 16px; display:flex; justify-content:space-between; align-items:center; }
.launch-option small { color:var(--text-secondary); font-size:11px; }
.launch-warning { border-left:3px solid #e4a53a; background:var(--content-bg); padding:14px; border-radius:6px; font-size:13px; line-height:1.8; margin:15px 0; }
.launch-dialog .as-actions { justify-content:flex-end; }
@media(max-width:1000px) { #pdLibraryActions { flex-wrap:wrap; } .la-primary-actions { margin-left:auto; } }
@media(max-width:600px) { .la-primary-actions { width:100%; } .la-primary-actions .la-button { flex:1; min-width:0; } .library-launch-dock { right:16px; bottom:16px; } .library-launch-button { padding:12px 20px; } }

.encryption-overlay #encryptionActions { justify-content:flex-end; gap:12px; }
.encryption-overlay #encryptionActions .as-btn { min-width:124px; padding:11px 20px; text-align:center; }


/* A transformed ancestor changes the containing block of the fixed launch dock. */
#page-library { animation-name:libraryPageFadeIn; }
@keyframes libraryPageFadeIn { from { opacity:0; } to { opacity:1; } }

