.daily-quote { margin: 24px 0; border-left: 3px solid var(--green); }
.quote-line { font: clamp(20px, 2.2vw, 25px)/1.8 var(--serif); margin: 20px 0; }
.quote-actions,.album-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.quote-show,.saved-quote { margin: 20px 0; }
.album-invite { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 24px 0; }
.album-note { margin: 10px 0; }.album-tools { margin: 18px 0; }
.file-button { display: inline-flex; flex-direction: column; gap: 8px; max-width: 100%; }
.file-button input { display: block; font-size: 12px; width: 230px; max-width: 100%; }
.album-view,.album-staged,.album-confirm { margin: 24px 0; }
.album-frame { margin: 0; aspect-ratio: 4 / 3; max-height: 55dvh; background: var(--bg); border-radius: 10px; overflow: hidden; display: flex; flex-direction: column; }
.album-frame img { width: 100%; height: 0; flex: 1 1 auto; min-height: 0; object-fit: contain; }
.album-frame figcaption { padding: 8px 12px; overflow-wrap: anywhere; font-size: 12px; }
.album-thumbs { display: grid; grid-template-columns: repeat(auto-fill,minmax(80px,1fr)); gap: 10px; margin-top: 20px; }
.album-thumbs img { display: block; width: 100%; height: 76px; object-fit: cover; border-radius: 7px; }
.album-thumbs figure { margin: 0; }.album-thumbs figcaption { font-size: 11px; overflow-wrap: anywhere; }
.album-thumb { padding: 3px; border: 2px solid transparent; border-radius: 9px; }
.album-thumb[aria-pressed="true"] { border-color: var(--green); }
.album-trash-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.album-trash-row span { flex: 1; overflow-wrap: anywhere; min-width: 100px; }
#gallery-root summary { cursor: pointer; padding: 14px 0; min-height: 44px; }
#gallery-error { color: var(--danger, #814a40); margin: 12px 0; }
@media (max-width: 700px) { .album-invite { align-items: flex-start; flex-direction: column; }.album-tools>* { max-width: 100%; }.album-frame { aspect-ratio: 1; } }
@media (prefers-reduced-motion: reduce) { .album-frame,.album-thumbs { scroll-behavior: auto; animation: none; transition: none; } }
@media (max-width: 560px) { .sidebar nav { grid-template-columns: repeat(5,minmax(0,1fr)); } }
