.academic-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin:16px 0;max-width:100%;min-width:0}.academic-gallery-item{display:block;min-width:0;overflow:hidden;border:1px solid var(--identity-border);border-radius:14px;background:var(--identity-surface-soft);text-decoration:none;color:var(--identity-text)}.academic-gallery-item img{display:block;width:100%;height:145px;object-fit:cover}.academic-gallery-item>span{display:block;padding:9px 10px;font-size:14px;font-weight:700;color:var(--identity-text)}.academic-gallery-item small{font-size:12px;color:var(--identity-muted)}.academic-gallery-item:focus-visible{outline:3px solid var(--identity-ring);outline-offset:3px}
.academic-upload{display:grid;gap:10px;margin:14px 0;padding:14px;border:1px solid var(--identity-border);background:var(--identity-surface-soft);color:var(--identity-text);border-radius:14px;grid-column:1/-1;width:100%;min-width:0;box-sizing:border-box}.academic-upload[hidden]{display:none!important}.academic-upload-head{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;font-weight:800}.academic-upload-track{height:9px;overflow:hidden;border-radius:20px;background:var(--identity-border)}.academic-upload-track>span{display:block;width:0;height:100%;border-radius:inherit;background:var(--identity-primary);transition:width .12s linear}.academic-upload-note{font-size:13px;line-height:1.8;color:var(--identity-muted);overflow-wrap:anywhere}.academic-upload[data-state=error]{border-color:var(--identity-danger)}.academic-upload[data-state=error] .academic-upload-note{color:var(--identity-danger)}.academic-upload[data-state=error] .academic-upload-track>span{background:var(--identity-danger)}.academic-upload[data-state=saving] .academic-upload-track>span{background:var(--identity-warning)}.academic-upload-count{display:block;color:var(--identity-muted);font-size:13px;line-height:1.8;margin-top:5px}form[data-uploading=true]{cursor:progress}
@media(max-width:600px){.academic-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.academic-gallery-item img{height:140px}.academic-upload-head{font-size:14px}}
