.afv-album-page{padding:1rem}.afv-album-page .afv-empty{margin:1.5rem 0}.afv-album-tools{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:1rem;margin:0 0 1.4rem}.afv-album-tool{margin:0;padding:1rem 1.1rem;border:1px solid var(--afv-c-line);border-radius:14px;background:var(--afv-c-surface)}.afv-album-tool h3,.afv-album-tool summary{margin:0 0 .8rem;font-size:1.02rem;font-weight:700}.afv-album-tool summary{margin:0;cursor:pointer;list-style:none;display:flex;align-items:center;gap:.5rem}.afv-album-tool summary::-webkit-details-marker{display:none}.afv-album-tool--new summary::before{content:"+";display:inline-grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:50%;background:var(--afv-c-iris);color:var(--afv-c-base);font-size:1.1rem;line-height:1}.afv-album-tool--edit summary::before{content:"⚙";font-size:1.05rem;color:var(--afv-c-muted)}.afv-album-tool[open] summary{margin-bottom:.9rem}.afv-form-stack{display:grid;gap:.85rem;margin:0}.afv-form-stack .afv-field{display:grid;gap:.3rem;margin:0}.afv-form-stack .afv-field label{font-weight:600;font-size:.92rem}.afv-form-stack .afv-field input[type=file],.afv-form-stack .afv-field input[type=text],.afv-form-stack .afv-field select{width:100%;max-width:100%;box-sizing:border-box;min-height:2.5rem;padding:.45rem .6rem;border:1px solid var(--afv-c-line);border-radius:8px;background:var(--afv-c-base);color:inherit;font:inherit}.afv-form-stack .afv-field input[type=file]{padding:.35rem}.afv-field__hint{color:var(--afv-c-muted);font-size:.84rem}.afv-form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin:.1rem 0 0}.afv-form-actions [role=status]:empty{display:none}.afv-album-tools .is-error,.afv-gallery-offer .is-error{color:#b42318}.afv-album-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr));gap:1rem;margin:0;padding:0;list-style:none}.afv-album-card a{display:flex;flex-direction:column;gap:.25rem;color:inherit;text-decoration:none}.afv-album-card img,.afv-album-card__empty{display:block;width:100%;aspect-ratio:1;border-radius:12px;object-fit:cover;background:var(--afv-c-surface);border:1px solid var(--afv-c-line)}.afv-album-card strong{margin-top:.3rem}.afv-album-card span{color:var(--afv-c-muted);font-size:.88rem}.afv-album-card a:focus-visible strong,.afv-album-card a:hover strong{text-decoration:underline}.afv-album-back{margin:0 0 .4rem}.afv-album-title{margin:0 0 1rem}.afv-album-note{margin:-.4rem 0 1rem;color:var(--afv-c-muted);font-size:.9rem}.afv-media.afv-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.6rem;margin:0;padding:0;list-style:none;max-height:none}.afv-photo-grid .afv-photo{display:flex;flex-direction:column;gap:.3rem;margin:0}.afv-photo-grid .afv-photo a{display:block}.afv-photo-grid .afv-photo img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:1;object-fit:cover;border-radius:8px;cursor:zoom-in}.afv-photo__tools{display:flex;flex-wrap:wrap;gap:.25rem .5rem;font-size:.82rem}.afv-photo__tools button{padding:0;border:0;background:0 0;color:var(--afv-c-iris);font:inherit;text-decoration:underline;cursor:pointer}.afv-photo__tools select{max-width:100%;font-size:.82rem}.afv-gallery-offer{margin:0 0 1.2rem;padding:1rem;border:2px solid var(--afv-c-iris);border-radius:12px}.afv-gallery-offer h3{margin:0 0 .3rem}.afv-gallery-offer h3:focus{outline:0}.afv-gallery-offer__note{margin:0 0 .6rem;color:var(--afv-c-muted);font-size:.9rem}.afv-gallery-offer__photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.8rem;margin:0 0 .8rem;padding:0;list-style:none}.afv-gallery-offer__photos img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}.afv-gallery-offer label{display:flex;flex-direction:column;gap:.25rem;margin:.4rem 0;font-size:.9rem}.afv-gallery-offer input[type=text],.afv-gallery-offer textarea{width:100%;box-sizing:border-box}.afv-gallery-offer__actions{margin:.6rem 0 0}.afv-photo-grid .afv-photo{position:relative}.afv-photo__meta{color:var(--afv-c-muted);font-size:.82rem;text-decoration:none}.afv-photo__meta:focus-visible,.afv-photo__meta:hover{text-decoration:underline}.afv-photo__badge{position:absolute;top:.4rem;left:.4rem;padding:.1rem .5rem;border-radius:999px;background:var(--afv-c-iris);color:var(--afv-c-base);font-size:.75rem;font-weight:600}.afv-album-share{margin:-.4rem 0 1rem}.afv-gallery-offer__warning{margin:0 0 .6rem;padding:.5rem .7rem;border-radius:8px;background:var(--afv-c-surface);border-left:3px solid #b54708;font-size:.9rem}.afv-media.afv-photo-page{margin:0 0 .6rem;max-height:none}.afv-photo-page img{display:block;width:100%;height:auto;max-height:80vh;object-fit:contain;border-radius:10px;background:var(--afv-c-surface);cursor:zoom-in}.afv-photo-page figcaption{margin-top:.4rem;color:var(--afv-c-muted);font-size:.92rem}.afv-photo-page__nav{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:0 0 1rem;font-size:.92rem}.afv-photo-page__nav time{color:var(--afv-c-muted)}.afv-photo-social{border-top:1px solid var(--afv-c-line);padding-top:.9rem}.afv-photo-like{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .8rem;border:1px solid var(--afv-c-line);border-radius:999px;background:var(--afv-c-base);color:inherit;font:inherit;cursor:pointer}.afv-photo-like[aria-pressed=true]{border-color:#c01048;color:#c01048}.afv-photo-likers{color:var(--afv-c-muted);font-size:.9rem}.afv-photo-social__title{margin:1.1rem 0 .5rem;font-size:1rem}.afv-photo-comments{margin:0 0 1rem;padding:0;list-style:none}.afv-photo-comment{display:flex;gap:.6rem;padding:.5rem 0;border-bottom:1px solid var(--afv-c-line)}.afv-photo-comment__avatar{flex:none;border-radius:50%}.afv-photo-comment__who{margin:0;font-size:.88rem}.afv-photo-comment__who time{color:var(--afv-c-muted);margin-left:.3rem}.afv-photo-comment__text{margin:.15rem 0 0}.afv-photo-comment__delete{padding:0;border:0;background:0 0;color:var(--afv-c-muted);font-size:.8rem;text-decoration:underline;cursor:pointer}.afv-storage{display:grid;gap:.3rem;margin:0 0 1rem;font-size:.9rem;color:var(--afv-c-muted)}.afv-storage meter{width:100%;max-width:24rem;height:.7rem}.afv-storage.is-full label{color:#b42318;font-weight:600}