:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#25372f;background:#f5f6f0;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 15% 40%,#e6eddc88,transparent 50%),radial-gradient(ellipse at 90% 75%,#e8e8da88,transparent 45%)}header{display:flex;justify-content:space-between;align-items:center;padding:30px 6%}.brand{font-size:26px;font-weight:800;letter-spacing:-1.2px;color:inherit;text-decoration:none}.brand-dot{color:#789260}.private{display:flex;align-items:center;gap:8px;font-size:12px;color:#728072}.private span{height:6px;width:6px;border-radius:50%;background:#75936a}main{display:grid;place-items:center;min-height:calc(100vh - 164px);padding:30px 20px}.card{width:100%;max-width:420px;padding:38px 40px 28px;background:#ffffffbf;border:1px solid #e1e5db;border-radius:22px;box-shadow:0 18px 70px #35452908}.cloud{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#eaf0e2;color:#55734b;font-size:31px;margin-bottom:28px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:#7b8b71;margin:0 0 13px}h1{font-size:41px;line-height:1.12;letter-spacing:-1.8px;font-weight:600;margin:0}.intro{font-size:14px;line-height:1.7;color:#7a8278;margin:18px 0 28px}label{display:block;font-size:12px;font-weight:600;margin:18px 0 8px}input{width:100%;height:46px;padding:0 14px;border:1px solid #dfe4da;border-radius:9px;background:#fdfefa;font:inherit;font-size:13px;color:#25372f}input::placeholder{color:#a2a99e}input:focus{outline:2px solid #8ba17b;outline-offset:2px}button{width:100%;border:0;border-radius:9px;padding:14px;background:#334f3f;color:#fff;font:inherit;font-size:13px;font-weight:600;cursor:pointer}button:hover{background:#263e30}button:focus-visible{outline:3px solid #9bb28b;outline-offset:3px}button:disabled{opacity:.6;cursor:wait}#error,#logout-error{font-size:12px;line-height:1.5;color:#ad3e3e;min-height:18px;margin:10px 0}.note{text-align:center;font-size:10px;color:#9aa292;margin:21px 0 0}footer{text-align:center;padding:25px;font-size:11px;color:#97a08f}.empty{border:1px dashed #ccd7c4;border-radius:12px;padding:25px 18px;line-height:1.7;font-size:14px;margin-bottom:25px}.empty small{font-size:12px;color:#788573}[hidden]{display:none!important}.loading main{visibility:hidden}@media(max-width:480px){header{padding:24px}.card{padding:30px 26px}main{padding:15px 20px}h1{font-size:37px}.private{font-size:10px}}

#home-panel:has(#admin-panel:not([hidden])){max-width:560px}#admin-panel{margin-bottom:28px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}h2{font-size:23px;letter-spacing:-.6px;margin:0}h3{font-size:13px;margin:28px 0 12px}.badge{font-size:10px;padding:5px 9px;border-radius:20px;color:#486143;background:#eaf0e2}.user-list{list-style:none;margin:0;padding:0}.user-list li{display:flex;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid #e5e8e0;font-size:13px}.user-list li span:first-child{overflow-wrap:anywhere;margin-right:auto}.user-list .text-button{flex-shrink:0}.user-list .text-button:disabled{text-decoration:none}#user-message,#list-error{font-size:12px;line-height:1.5;min-height:18px;color:#ad3e3e}#user-message.success{color:#416c3a}.secondary,#logout{background:#eaf0e2;color:#334f3f}.secondary:hover,#logout:hover{background:#dce7d2}

.header-left{display:flex;align-items:center;gap:34px;flex:1}#workspace-nav{display:flex;align-items:center;gap:24px;flex:1}#workspace-nav a{color:#7a8278;text-decoration:none;font-size:13px;padding:8px 0;border-bottom:1px solid transparent;transition:color .15s,border-color .15s}#workspace-nav a:hover{color:#334f3f}#workspace-nav a[aria-current]{color:#334f3f;border-bottom-color:#8b9d7d}#workspace-nav a:focus-visible{outline:2px solid #8ba17b;outline-offset:5px;border-radius:2px}#workspace-nav #logout{width:auto;margin-left:auto;padding:9px 14px;background:#eaf0e2;color:#334f3f;font-size:12px}#workspace-nav #logout:hover{background:#dce7d2}header:has(#workspace-nav:not([hidden])) .private{display:none}@media(max-width:480px){.header-left{gap:22px}#workspace-nav{gap:14px}#workspace-nav #logout{padding:8px 10px}}

#home-panel{max-width:900px}#home-panel:has(#admin-panel:not([hidden])){max-width:560px}.upload-box{background:#f3f6ee;border:1px dashed #bccbb0;border-radius:12px;padding:22px;margin:24px 0}.upload-box label{margin-top:0}.upload-box input{border:0;background:transparent;padding:8px 0;height:auto;font-size:13px}.upload-box button{width:auto;margin-top:10px}.upload-hint{font-size:12px;color:#788573;line-height:1.6}.files-heading{display:flex;align-items:center;justify-content:space-between}.search-label{margin-top:16px}#file-message{font-size:13px;line-height:1.5;overflow-wrap:anywhere;min-height:20px}.file-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 0;border-bottom:1px solid #e1e7da}.file-details{min-width:0}.file-details strong{font-size:14px;display:block;overflow-wrap:anywhere;font-weight:600}.file-details span{display:block;font-size:11px;color:#788573;margin-top:6px}.file-actions{display:flex;align-items:center;gap:16px;flex-shrink:0}.text-button,.file-actions a{width:auto;background:none;color:#51684a;padding:5px 0;font-size:12px;text-decoration:none;font-weight:500;border-radius:0}.text-button:hover,.file-actions a:hover{background:none;color:#25372f;text-decoration:underline}.text-button.danger{color:#a95750}#file-list{margin-bottom:28px}@media(max-width:650px){.file-row{align-items:flex-start;flex-direction:column;gap:10px}.file-actions{gap:22px}.upload-box{padding:16px}}

dialog{border:1px solid #dfe4da;border-radius:18px;padding:28px;background:#fcfdf8;color:#25372f;width:min(440px,calc(100% - 32px))}dialog::backdrop{background:#1e332855;backdrop-filter:blur(3px)}dialog p{font-size:14px;line-height:1.6;overflow-wrap:anywhere}.dialog-actions{display:flex;gap:12px;margin-top:24px}

/* Folders and selection */
select{width:100%;min-height:46px;padding:10px 14px;border:1px solid #dfe4da;border-radius:9px;background:#fdfefa;color:#25372f;font:inherit;font-size:13px}
select:focus-visible{outline:2px solid #8ba17b;outline-offset:2px}
.files-heading{flex-wrap:wrap;gap:12px}.files-heading h2{margin-right:auto}
#folder-path,#album-path{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:20px 0;overflow-wrap:anywhere}
.folder-open{text-align:left;overflow-wrap:anywhere;font-size:14px;font-weight:600}
.file-details{flex:1}.file-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px}
.selectable-item{display:flex;align-items:center;gap:12px;min-width:0;flex:1}
.item-checkbox{width:18px;height:18px;flex:0 0 18px;margin:0;accent-color:#334f3f;cursor:pointer}
#selection-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:12px 16px;margin:16px 0;border-radius:9px;background:#eaf0e2;font-size:12px}
#select-multiple[aria-pressed="true"]{font-weight:700;text-decoration:underline}
#bulk-error{color:#ad3e3e;font-size:13px;line-height:1.5}
/* Album */
#home-panel:has(#album-panel:not([hidden])){max-width:1100px}
#album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:18px;margin:24px 0}
#album-grid>.empty{grid-column:1/-1}
.album-tile{display:flex;flex-direction:column;align-items:stretch;padding:0 0 14px;min-width:0;overflow:hidden;text-align:left;background:#fdfefa;color:#25372f;border:1px solid #e1e7da;border-radius:12px}
.album-tile:hover{background:#eef3e8;border-color:#a8bb99}
.album-cover{display:grid;place-items:center;aspect-ratio:4/3;width:100%;overflow:hidden;background:#eaf0e2;color:#718964;font-size:40px}
.album-cover img{display:block;width:100%;height:100%;object-fit:cover}
.album-tile strong,.album-tile small{padding:0 12px;overflow-wrap:anywhere}
.album-tile strong{font-size:13px;margin-top:12px}.album-tile small{font-size:11px;color:#788573;margin-top:5px}
#album-message{font-size:13px;line-height:1.5}
/* File previews */
#preview-dialog{width:min(1000px,calc(100% - 32px));max-height:90vh;overflow:auto}
.preview-heading{display:flex;align-items:center;gap:16px}.preview-heading h2{flex:1;min-width:0;overflow-wrap:anywhere}.preview-heading button{flex-shrink:0}
#preview-content,#shared-preview{margin:20px 0;min-width:0}
#preview-content img,#shared-preview img{display:block;max-width:100%;max-height:60vh;width:auto;height:auto;object-fit:contain;margin:auto}
#preview-content video,#shared-preview video{display:block;width:100%;max-height:60vh}
#preview-content audio,#shared-preview audio{width:100%}
#preview-content iframe,#shared-preview iframe{display:block;width:100%;height:60vh;border:1px solid #dfe4da;border-radius:8px;background:white}
#preview-content pre,#shared-preview pre{max-height:60vh;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;padding:18px;border-radius:8px;background:#eef1e8;font-size:13px;line-height:1.6}
.preview-navigation{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px}.preview-navigation button{width:auto}.preview-navigation span{font-size:12px;color:#788573;text-align:center}
/* Temporary links */
#share-dialog{width:min(520px,calc(100% - 32px));max-height:90vh;overflow:auto}
.share-notice{padding:12px 16px;background:#eaf0e2;border-radius:9px;color:#51684a}
.duration-controls{display:flex;gap:12px}.duration-controls input{flex:1;min-width:0}.duration-controls select{width:45%}
#share-message{font-size:13px;line-height:1.5;overflow-wrap:anywhere}
#share-result{padding:16px;background:#f0f4e9;border-radius:9px}#share-result label{margin-top:0}
.share-link-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #e1e7da;font-size:12px;line-height:1.5}.share-link-row span{overflow-wrap:anywhere}.share-link-row button{flex-shrink:0}
.shared-card{max-width:1000px;min-width:0}.shared-card h1{font-size:30px;overflow-wrap:anywhere}#shared-status{font-size:13px;line-height:1.6;color:#788573}
.download-button{display:inline-block;padding:13px 20px;border-radius:9px;background:#334f3f;color:white;text-decoration:none;font-size:13px}.download-button:hover{background:#263e30}
@media(max-width:750px){.file-row{align-items:flex-start;flex-direction:column;gap:12px}.file-actions{justify-content:flex-start}.selectable-item{width:100%}}
@media(max-width:480px){header{padding:20px 16px}.brand{font-size:22px}.header-left{gap:16px}#workspace-nav{gap:10px}#workspace-nav #logout{padding:7px 9px}#album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}dialog{padding:20px}.preview-heading{flex-wrap:wrap}.preview-heading h2{flex-basis:100%}.preview-navigation{gap:8px}.preview-navigation button{padding:10px}#selection-toolbar{gap:12px}}

/* Upload dashboard */
.storage-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px}
.storage-stats div{display:flex;flex-direction:column;gap:5px;padding:18px;border:1px solid #e1e7da;border-radius:12px;background:#f8faf5}
.storage-stats strong{font-size:22px;letter-spacing:-.6px;overflow-wrap:anywhere}.storage-stats span{font-size:11px;color:#788573}
.upload-box label:not(:first-child){margin-top:18px}.upload-box select{background:#fff}

/* Album management */
.album-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.album-heading .intro{margin-bottom:0}
.album-main-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}.album-main-actions button{width:auto;white-space:nowrap;padding:10px 14px}
#album-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));align-items:start}
.album-card{position:relative;display:flex;flex-direction:column;min-width:0;border:1px solid #dfe5d9;border-radius:14px;background:#fdfefa;box-shadow:0 8px 24px #3545290a;transition:border-color .15s,box-shadow .15s}
.album-card:hover{border-color:#a8bb99;box-shadow:0 12px 30px #35452912}
.album-card:has(.album-menu[open]){z-index:20}
.album-card-heading{display:flex;align-items:center;gap:10px;min-width:0;padding:12px 12px 10px}
.album-card-heading>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:650}
.album-kind{display:grid;place-items:center;flex:0 0 30px;min-width:30px;height:25px;border-radius:5px;background:#e6ede0;color:#587050;font-size:10px;font-weight:800;letter-spacing:-.2px}
.album-kind.pdf{background:#fbe2df;color:#b13d35}.album-kind.image{background:#e0ece0;color:#426f49}.album-kind.video{background:#e3e8f3;color:#4d6085}.album-kind.audio{background:#eee5f2;color:#765884}
.album-card-heading .item-checkbox{margin:0}
.album-menu{position:relative;margin-left:auto;flex:0 0 auto}
.album-menu summary{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;color:#59675c;font-size:24px;line-height:1;cursor:pointer;list-style:none;user-select:none}
.album-menu summary::-webkit-details-marker{display:none}.album-menu summary:hover{background:#e9eee4}.album-menu summary:focus-visible{outline:2px solid #8ba17b;outline-offset:2px}
.album-menu-items{position:absolute;right:0;top:38px;z-index:30;display:flex;flex-direction:column;width:190px;padding:7px;border:1px solid #d7ded2;border-radius:11px;background:#fff;box-shadow:0 14px 38px #25372f26}
.album-action{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:38px;padding:9px 11px;border:0;border-radius:7px;background:transparent;color:#34483b;text-decoration:none;font:inherit;font-size:12px;font-weight:550;line-height:1.2;cursor:pointer}
.album-action:hover{background:#eaf0e5;color:#20342a;text-decoration:none}.album-action.danger{margin-top:4px;border-top:1px solid #e5e9e1;border-radius:0 0 7px 7px;color:#a24d48}.album-action.danger:hover{background:#f7e8e5;color:#853a35}
.album-card .album-tile{width:100%;height:auto;min-height:0;overflow:hidden;border:0;border-radius:0;background:#fdfefa;padding:0}
.album-card .album-tile:hover{background:#f7faf3}.album-card .album-cover{aspect-ratio:16/10}
.album-card-footer{padding:11px 13px 13px;overflow:hidden;color:#788573;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
#album-message{min-height:20px;overflow-wrap:anywhere}
@media(max-width:700px){.album-heading{flex-direction:column}.album-main-actions{justify-content:flex-start}.storage-stats{grid-template-columns:1fr}.storage-stats div{padding:14px}}
@media(max-width:480px){#album-grid{grid-template-columns:1fr}.album-main-actions{width:100%}.album-main-actions button{flex:1}.album-menu-items{width:180px}}

/* Profile and account settings */
#workspace-nav #profile-menu{position:relative;margin-left:auto;flex:0 0 auto}
#workspace-nav #profile-menu summary{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#eaf0e2;color:#334f3f;font-size:17px;cursor:pointer;list-style:none;user-select:none}
#workspace-nav #profile-menu summary::-webkit-details-marker{display:none}#workspace-nav #profile-menu summary:hover{background:#dce7d2}#workspace-nav #profile-menu summary:focus-visible{outline:3px solid #9bb28b;outline-offset:2px}
.profile-menu-items{position:absolute;right:0;top:43px;z-index:40;width:190px;padding:9px;border:1px solid #d7ded2;border-radius:11px;background:#fff;box-shadow:0 14px 38px #25372f26}
.profile-menu-items strong{display:block;padding:8px 10px 10px;overflow:hidden;border-bottom:1px solid #e5e9e1;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
#workspace-nav .profile-menu-items button{width:100%;margin-top:5px;padding:10px;background:transparent;color:#34483b;text-align:left;font-size:12px}#workspace-nav .profile-menu-items button:hover{background:#eaf0e5}
#workspace-nav #logout{margin-left:0}
#settings-dialog{width:min(500px,calc(100% - 32px));max-height:90vh;overflow:auto}#settings-dialog .optional{color:#899487;font-size:10px;font-weight:400}
#settings-message{min-height:20px;color:#ad3e3e;font-size:12px;line-height:1.5}#settings-message.success{color:#416c3a}#settings-message:not(:empty){margin-top:14px}
@media(max-width:480px){header .header-left{flex-wrap:wrap;row-gap:14px}#workspace-nav{flex-basis:100%;width:100%}#workspace-nav #profile-menu{margin-left:auto}}

/* Theme switch */
#workspace-nav .theme-switch{display:flex;align-items:center;gap:7px;margin:0 0 0 auto;color:#728072;font-size:14px;cursor:pointer}
.theme-switch input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.theme-slider{position:relative;display:block;width:38px;height:22px;border:1px solid #bdcbb6;border-radius:20px;background:#dfe8d8;transition:background .18s,border-color .18s}
.theme-slider::after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #25372f33;transition:transform .18s,background .18s}
.theme-switch input:checked+.theme-slider{border-color:#75936a;background:#45634f}.theme-switch input:checked+.theme-slider::after{transform:translateX(16px);background:#dcebd7}
.theme-switch input:focus-visible+.theme-slider{outline:3px solid #9bb28b;outline-offset:2px}
#workspace-nav #profile-menu{margin-left:0}

/* Dark sage theme */
html[data-theme="dark"]{color:#e2ebe4;background:#0f1612;color-scheme:dark}
html[data-theme="dark"] body{background:radial-gradient(ellipse at 15% 35%,#29423588,transparent 48%),radial-gradient(ellipse at 90% 75%,#27362d88,transparent 45%),#0f1612}
html[data-theme="dark"] .card,html[data-theme="dark"] dialog{border-color:#304239;background:#18221dcc;color:#e2ebe4;box-shadow:0 20px 70px #0005}
html[data-theme="dark"] .brand{color:#e7efe8}html[data-theme="dark"] .brand-dot{color:#9cbb8b}
html[data-theme="dark"] .private,html[data-theme="dark"] .intro,html[data-theme="dark"] .note,html[data-theme="dark"] footer,html[data-theme="dark"] .upload-hint,html[data-theme="dark"] #shared-status{color:#91a297}
html[data-theme="dark"] .private span{background:#8dab7d}html[data-theme="dark"] .cloud{background:#25372d;color:#aac69a}
html[data-theme="dark"] input,html[data-theme="dark"] select{border-color:#3a4c41;background:#111a15;color:#e5eee7}html[data-theme="dark"] input::placeholder{color:#74867a}
html[data-theme="dark"] button{background:#52735a;color:#f3f7f3}html[data-theme="dark"] button:hover{background:#638765}
html[data-theme="dark"] .secondary,html[data-theme="dark"] #logout,html[data-theme="dark"] #workspace-nav #logout{background:#26372e;color:#dce8de}html[data-theme="dark"] .secondary:hover,html[data-theme="dark"] #logout:hover,html[data-theme="dark"] #workspace-nav #logout:hover{background:#32483a}
html[data-theme="dark"] #workspace-nav a{color:#96a69b}html[data-theme="dark"] #workspace-nav a:hover,html[data-theme="dark"] #workspace-nav a[aria-current]{color:#dfe9e1}html[data-theme="dark"] #workspace-nav a[aria-current]{border-bottom-color:#90ae80}
html[data-theme="dark"] #workspace-nav #profile-menu summary{background:#26372e;color:#dce8de}html[data-theme="dark"] #workspace-nav #profile-menu summary:hover{background:#32483a}
html[data-theme="dark"] .profile-menu-items,html[data-theme="dark"] .album-menu-items{border-color:#3a4b41;background:#1c2821;box-shadow:0 18px 45px #0008}
html[data-theme="dark"] .profile-menu-items strong{border-color:#33443a}html[data-theme="dark"] #workspace-nav .profile-menu-items button,html[data-theme="dark"] .album-action{color:#d8e4da}html[data-theme="dark"] #workspace-nav .profile-menu-items button:hover,html[data-theme="dark"] .album-action:hover{background:#2b3d32;color:#f0f5f1}
html[data-theme="dark"] .theme-switch{color:#a8b8ad}html[data-theme="dark"] .theme-slider{border-color:#58705f;background:#29392f}
html[data-theme="dark"] .upload-box{border-color:#4c6352;background:#1e2c24}html[data-theme="dark"] .upload-box select{background:#111a15}
html[data-theme="dark"] .storage-stats div{border-color:#304239;background:#1b2821}html[data-theme="dark"] .storage-stats span{color:#91a297}
html[data-theme="dark"] .badge{background:#2a3c31;color:#b8d0ad}html[data-theme="dark"] .user-list li,html[data-theme="dark"] .share-link-row{border-color:#304239}
html[data-theme="dark"] .text-button,html[data-theme="dark"] .file-actions a{background:transparent;color:#a9c29e}html[data-theme="dark"] .text-button:hover,html[data-theme="dark"] .file-actions a:hover{background:transparent;color:#e3ece5}html[data-theme="dark"] .text-button.danger,html[data-theme="dark"] .album-action.danger{color:#df8b84}
html[data-theme="dark"] #selection-toolbar,html[data-theme="dark"] .share-notice{background:#26382e;color:#c7d8ca}
html[data-theme="dark"] .album-card{border-color:#304239;background:#19241e;box-shadow:0 9px 28px #0004}html[data-theme="dark"] .album-card:hover{border-color:#58745f;box-shadow:0 13px 34px #0006}
html[data-theme="dark"] .album-kind{background:#293d31;color:#b9d2ad}html[data-theme="dark"] .album-kind.pdf{background:#492b2a;color:#f09a91}html[data-theme="dark"] .album-kind.image{background:#27402f;color:#9fc8a5}html[data-theme="dark"] .album-kind.video{background:#293447;color:#a9b8dd}html[data-theme="dark"] .album-kind.audio{background:#3b3043;color:#c9add7}
html[data-theme="dark"] .album-menu summary{color:#aebdb2}html[data-theme="dark"] .album-menu summary:hover{background:#2a3b31}
html[data-theme="dark"] .album-action.danger{border-color:#39483f}html[data-theme="dark"] .album-action.danger:hover{background:#472d2b;color:#f1a099}
html[data-theme="dark"] .album-card .album-tile,html[data-theme="dark"] .album-card .album-tile:hover{background:#19241e;color:#e2ebe4}html[data-theme="dark"] .album-cover{background:#223329;color:#9bb68e}html[data-theme="dark"] .album-card-footer{color:#91a297}
html[data-theme="dark"] .empty{border-color:#43574a}html[data-theme="dark"] dialog::backdrop{background:#050906aa}html[data-theme="dark"] #preview-content pre,html[data-theme="dark"] #shared-preview pre{background:#111a15;color:#dce7de}
html[data-theme="dark"] #share-result{background:#223229}html[data-theme="dark"] .download-button{background:#56785d;color:#fff}html[data-theme="dark"] .download-button:hover{background:#668c69}
@media(max-width:480px){#workspace-nav .theme-switch>span:first-child{display:none}#workspace-nav .theme-switch{gap:0}}

/* Lucide icon alignment and public theme controls */
.lucide{width:16px;height:16px;flex:0 0 auto;stroke:currentColor}
button:has(>.lucide),a:has(>.lucide){display:inline-flex;align-items:center;justify-content:center;gap:7px}
.cloud .lucide{width:30px;height:30px}.album-kind .lucide{width:16px;height:16px}.album-cover>.lucide{width:48px;height:48px}.album-menu summary .lucide{width:20px;height:20px}#profile-menu summary .lucide{width:18px;height:18px}.theme-switch>.lucide{width:15px;height:15px}
.guest-controls{display:flex;align-items:center;gap:20px}.guest-controls .theme-switch{display:flex;align-items:center;gap:7px;margin:0;color:#728072;font-size:14px;cursor:pointer}
header:has(#workspace-nav:not([hidden]))>.guest-controls{display:none}
.profile-menu-items button:has(>.lucide),.album-action:has(>.lucide){justify-content:flex-start}
.lucide-loader-circle{animation:icon-spin .8s linear infinite}@keyframes icon-spin{to{transform:rotate(360deg)}}
.album-menu-items{gap:2px;padding:8px}.album-card:has(.album-menu[open]){border-color:#88a379;box-shadow:0 16px 42px #25372f26}
html[data-theme="dark"] .album-menu-items{border-color:#4a6051;background:#18231d;box-shadow:0 20px 48px #000b}
html[data-theme="dark"] .album-action{background:transparent;color:#d8e4da}
html[data-theme="dark"] .album-action:hover{background:#304438;color:#f1f6f2}
html[data-theme="dark"] .album-action.danger{border-color:#3c4d42;background:transparent;color:#e38e87}
html[data-theme="dark"] .album-action.danger:hover{background:#4a2f2c;color:#ffaaa2}
html[data-theme="dark"] .album-card:has(.album-menu[open]){border-color:#739268;box-shadow:0 18px 48px #000a}
html[data-theme="dark"] .guest-controls .theme-switch{color:#a8b8ad}
@media(max-width:480px){.guest-controls{gap:12px}.guest-controls .private{display:none}.guest-controls .theme-switch>.lucide{display:none}}

/* Drag-and-drop upload */
.upload-box{position:relative;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s}
.upload-box::after{content:"Drop files to add them";position:absolute;inset:8px;z-index:3;display:grid;place-items:center;border:2px dashed #78966d;border-radius:10px;background:#edf4e7e8;color:#3e5d46;font-size:16px;font-weight:700;letter-spacing:-.2px;opacity:0;pointer-events:none;transform:scale(.985);transition:opacity .16s,transform .16s}
.upload-box.drag-active{border-color:#6f9166;background:#eaf2e4;box-shadow:0 0 0 4px #819d7440,0 14px 36px #35452918;transform:translateY(-2px)}
.upload-box.drag-active::after{opacity:1;transform:scale(1)}
.drop-zone-content{display:flex;flex-direction:column;align-items:center;padding:14px 12px 20px;text-align:center}
.drop-zone-content>strong{font-size:17px}.drop-zone-content>span{margin-top:5px;color:#788573;font-size:12px}
.drop-zone-icon{display:grid;place-items:center;width:54px;height:54px;margin-bottom:14px;border-radius:16px;background:#e2ebda;color:#56754f;transition:transform .18s,background .18s}.drop-zone-icon .lucide{width:28px;height:28px}
.upload-box.drag-active .drop-zone-icon{background:#d6e5cc;transform:translateY(-3px) scale(1.06)}
#choose-files{width:auto;margin-top:15px;padding:10px 15px}.drop-zone-content #upload-selection{margin:12px 0 0}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
html[data-theme="dark"] .upload-box::after{border-color:#81a477;background:#1b2b22ee;color:#c7ddc0}
html[data-theme="dark"] .upload-box.drag-active{border-color:#72956a;background:#213429;box-shadow:0 0 0 4px #74966a38,0 16px 40px #0007}
html[data-theme="dark"] .drop-zone-content>span{color:#91a297}html[data-theme="dark"] .drop-zone-icon{background:#2b4033;color:#b7d1aa}html[data-theme="dark"] .upload-box.drag-active .drop-zone-icon{background:#36513f}
